Zum Inhalt springen

leeres Array obwohl Inhalt in DB ist


Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 =)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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...

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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...

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 ^^

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...