Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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

Geschrieben

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

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

Geschrieben

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

Geschrieben

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

Geschrieben

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

Geschrieben

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

Geschrieben

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

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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