Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

leeres Array obwohl Inhalt in DB ist

Empfohlene Antworten

Veröffentlicht

Sers Leuz,

ich versuche mich grad mal ein bisschen in PHP, und da mach ich so zur Übung ein Gästebuch. Ich hab eine MySQL DB dahinter wo die Gästebucheinträge gespeichert werden und dieses Script das das ganze auslesen und anzeigen soll, aber ich hab keinen Inhalt in dem Array:


<html>

<body>

<p align="center">

<script language="php">				

$db = mysql_connect("localhost","web126","**********");

echo mysql_error();

if($db)

{

$eintraege = array(mysql_db_query("usr_web126_1","select * from gb"));

echo mysql_error();

echo"<table>";

foreach($eintraege as $column)

{

echo"<tr><td align=\"center\">".$eintraege[1]."</td></tr>";

echo"<tr><td align=\"center\">".$eintraege[2]."</td></tr>";

echo"<tr><td align=\"center\">".$eintraege[3]."</td></tr>";

}

echo"</table>"

}

else

{

echo"No Connection... ask Nokia they are Connecting People";

}

</script>

</p>

</body>

</html>

Wäre schön wenn ihr mir sagen könnte wofür ich zu doof war... THX

MfG

GrinseHinze

fängt ein array nicht immer bei NULL ([]), statt bei EINS ([1]) an?

korrigiert mich wenn ich falsch liege:)

$db = mysql_connect("localhost","web126","**********");

echo mysql_error();

if($db)

{

$eintraege = array(mysql_db_query("usr_web126_1","select * from gb"));

deine art des verbindungsaufbau find ich sehr unübersichtlich, zumal ich die stelle nicht finde wo du den "namen" deiner db definierst =)

Danke!!! Das wär dann der erste Fehler... Ich lern immer wieder gern dazu...^^

Nur schlecht dass es immernoch nicht funktioniert... Jetzt bekomme ich "Resource id #3" ausgegeben und imemrnoch nicht meine Tabelle mit dem Inhalt...

fängt ein array nicht immer bei NULL ([]), statt bei EINS ([1]) an?

korrigiert mich wenn ich falsch liege:)

deine art des verbindungsaufbau find ich sehr unübersichtlich, zumal ich die stelle nicht finde wo du den "namen" deiner db definierst =)

Meine DB heist usr_web126_1 ... Das hängt in

$eintraege = array(mysql_db_query("usr_web126_1","select * from gb"));

mit drin..... So hab ichs zumindest auf php.net gefunden...

moin,

Wieso machst du das net so

Also erstmal verbidung zur DB

$db = mysql_connect($dbhost, $dbuser, $dbpass) or die(mysql_error());

mysql_select_db($dbname,$db) or die(mysql_error());
Dann die Abfrage und die Ausgabe
<table border='0' align=''>

<tr>

<td><p class='content'>Name</p></td>

<td><p class='content'>Text</p></td>

</tr>


<?php


$result = mysql_query("Select * From gb);


while($row = mysql_fetch_array($result)){


     echo"<tr>";

     echo"<td align='center'>$row[0]</td>";

     echo"<td align='center'>$row[1]</td>";

     echo"</tr>";


}


?>


</table>

Muss aber noch optimiert werden müsste aber funzen

Und ein kleinen Tipp, wenn du Programmierst dann musst du denn Quellcode einrücken bei schleifen etc.

Ist sehr Hilfreich bei der Fehlersuche bei großen Codes

MfG ich

Ich bin jetzt ganz nah dran, bekomm aber immer nur den ersten Buchstaben...


<html>
<body bgcolor="#336699">
<p align="center">
<font color="yellow" size="4">Gästebuch</font>
<br>
<br>
<br>
<script language="php">
$db = mysql_connect("localhost","web126","**********");
if($db)
{
$tmpeintraege = mysql_db_query("usr_web126_1","select * from gb");
echo mysql_error();
$eintraege = mysql_fetch_array($tmpeintraege);
echo mysql_error();
$anzahl = mysql_num_rows($tmpeintraege);
echo mysql_error();

$zaehler = 0;
$zaehlerintern = 0;
echo"<table>";

while($zaehler<=$anzahl)
{
echo"<tr><td align=\"center\"><font color=\"orange\" size=\"3\">".$eintraege[0][zaehler]."</font></td></tr>";
echo"<tr><td align=\"center\"><font color=\"orange\" size=\"3\">".$eintraege[1][zaehler]."</font></td></tr>";
echo"<tr><td align=\"center\"><font color=\"orange\" size=\"3\">".$eintraege[2][zaehler]."</font></td></tr>";
echo"<tr><td align=\"center\"></td></tr>";
echo"<tr><td align=\"center\"></td></tr>";
$zaehler++;
}
echo"</table>";
}
else
{
echo"No Connection... ask Nokia they are Connecting People";
}
</script>
<p>
</body>
</html>
[/PHP]

P.S.: Danke für die freundliche Hilfe...

Und ein kleinen Tipp, wenn du Programmierst dann musst du denn Quellcode einrücken bei schleifen etc.

Ist sehr Hilfreich bei der Fehlersuche bei großen Codes

Einrücken in diesem Editor dieses Forums is doof da er mit den Tabs von Notepad++ total zerstückelt wird und wenn man die rausnimmt und sie durch einen Tab ersetzen will dann springt der Cursor aus dem Textfeld heraus... Naja... Es gibt ja immernoch das gute alte Leerzeichen...^^ Ich hoffe so gefällt es besser...

MfG Grinse-Hinze

versuch doch mal den verbindungsaufbau von "ich" und die while-schleife.

das hat den vorteil das du nicht jeden datensatz einzeln "ausgeben / formatieren" musst

echo"<tr><td align=\"center\"><font color=\"orange\" size=\"3\">".$eintraege[0][zaehler]."</font></td></tr>";
echo"<tr><td align=\"center\"><font color=\"orange\" size=\"3\">".$eintraege[1][zaehler]."</font></td></tr>";[/PHP]

-->

[PHP]$result = mysql_query("Select * From gb);
while($row = mysql_fetch_array($result)){

echo"<tr>";
echo"<td align='center'>$row['name']</td>";
echo"<td align='center'>$row['datum']</td>";
echo"<td align='center'>$row['content']</td>";
echo"</tr>";

}

in der schleife wird nach jedem durchgang der zähler automatisch um eins hochgesetzt ^^

Okay... ich bin jetzt ein bisschen weiter... Habs jetzt so:


<html>
<body bgcolor="#336699">
<p align="center">
<font color="yellow" size="4">Gästebuch</font>
<br>
<br>
<br>
<script language="php">
$db = mysql_connect("localhost","web126","**********");
if($db)
{
$tmpeintraege = mysql_db_query("usr_web126_1","select * from gb");
echo mysql_error();
$eintraege = array(mysql_fetch_array($tmpeintraege));
echo mysql_error();
$anzahl = mysql_num_rows($tmpeintraege);
echo mysql_error();

$zaehler = 0;
$zaehlerintern = 0;
echo"<table>";


while($zaehler<=$anzahl)
{
echo"<tr><td align=\"center\"><font color=\"orange\" size=\"3\">".$eintraege[$zaehler][0]."</font></td></tr>";
echo"<tr><td align=\"center\"><font color=\"orange\" size=\"3\">".$eintraege[$zaehler][1]."</font></td></tr>";
echo"<tr><td align=\"center\"><font color=\"orange\" size=\"3\">".$eintraege[$zaehler][2]."</font></td></tr>";
echo"<tr><td align=\"center\"></td></tr>";
echo"<tr><td align=\"center\"></td></tr>";
$zaehler++;
}

echo"</table>";
}
else
{
echo"No Connection... ask Nokia they are Connecting People";
}
</script>
</p>
</body>
</html>
[/PHP]

Jetzt bekomm ich den ersten Datensatz wie gewollt ausgelesen und angezeigt, aber wie komme ich jetzt an den 2. Datensatz der auch ausgelesen wurde aber nicht angezeigt wird???

MfG GrinseHinze

versuch doch mal den verbindungsaufbau von "ich" und die while-schleife.

das hat den vorteil das du nicht jeden datensatz einzeln "ausgeben / formatieren" musst

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.