Problem: MySQL daten auslesen...
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
alt ausgabe
anfragen
ausgabe
befehl
benutzername
datei
dummer kleiner fehler
endung
fehler
hilfe
hoch mal
inhalt
klappe
mithilfe
nutz
paar verbesserungen
result
schlag
tabelle
tschuldigung
-
Hallo Forum!
Ich hab folgendes Problem: Ich will auf einer Seite eine Mitgliederliste anzeigen.
Ich bin also so vorgegangen, dass ich ?ber php in die DB connecte, mithilfe von mysql_db_query eine "SELECT*FROM table" Anfrage sende und dann das ganze ausgebe...
Nur so wie ich das gemacht habe kommt nicht das was ich wollte...
Hier mein code:
[PHP]
<?php
include ("config.php");
//mysql verbinden
$db = mysql_connect ($db_host , $db_usr , $db_pw);
//ausgabe-befehl
$query = "SELECT *FROM kiwiusr";
//ausgabe durchf?hren
$result = mysql_db_query($db_name , $query);
echo "
<table border=0>
<tr>
<td>Benutzername</td>
<td>CS Version</td>
</tr>
";
while ($row = mysql_fetch_array($result)) {
extract($row);
echo "
<tr>
<td>$user</td>
<td>$version</td>
</tr>
";
}
echo "</table>";
mysql_close($db);
?>
[/PHP]
Die Ausgabe enth?lt nur die Tabelle, den festen text und die namen der zwei variablen: $user und $version...Ich bin sicher es ist ein dummer kleiner fehler...aber ich finde ihn nicht. Ich muss dazu sagen dass ich noch ein ziemlicher Anf?nger bin was php programmierung angeht...
Ich hoffe ihr k?nnt mir helfen -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hi,
hu hast vergessen die Datenbank zu selektieren. Dies machst du ?ber den Befehl:
mysql_select_db ($dbname);
Dann gibst du auch nur $user und $version aus und nicht deren Inhalte.
Das machst du folgenderma?en:
echo "
<table border=0>
<tr>
<td>".$user."</td>
<td>".$version."</td>
</tr>
";
Erg?nze das erstmal und sag dann ob es noch probleme gibt. -
Das kann es beides nicht sein:
1. Ich benutze ja desshalb den mysql_db_query, so kann ich die db im query angeben...
2. Ich habs versucht, aber wie ich es mir schon gedacht hab: doppelte " ?bernehmen den Inhalt von variablen...Also
$name = "Peter";
echo "$name geht zum Becker";
Ausgabe:
Peter geht zum Becker
Das kann es also nicht sein...Bitte um weitere vorschl?ge -
Wenn du schon mysql_fetch_array() und extract() benutzt, dann solltest du auch die Namen der Spalten in deiner Tabelle angeben, damit man dir weiterhelfen kann. Ich verstehe allerdings sowieso nicht, warum du das nicht per mysql_fetch_row() machst. Oder wenn du das unbedingt per mysql_fetch_array() machst, dann nutze doch einfach die Spaltennamen (also $row['sp_name']) um den Variablen $user und $version die gew?nschten Inhalte zuzuweisen.
-
Wo wei?t du den Variablen $user und $version die Inhalte zu?
Kommt das durch das extract??? Ich arbeite eigentlich nicht mit extract.
Edit -> Ja, ok, die Werte werden durch extract zugewiesen.
Ich habe nichts an deinem Quellcode ver?ndert bis auf Leerzeichen bei dem query. Ach ja, ich hatte den
<?php
include ("config.php");
//mysql verbinden
$db = mysql_connect ($db_host , $db_usr , $db_pw);
//ausgabe-befehl
$query = "SELECT * FROM kiwiusr";
//ausgabe durchf?hren
$result = mysql_db_query($db_name , $query);
echo "
<table border=0>
<tr>
<td>Benutzername</td>
<td>CS Version</td>
</tr>
";
while ($row = mysql_fetch_array($result)) {
extract($row);
echo "
<tr>
<td>$user</td>
<td>$version</td>
</tr>
";
}
echo "</table>";
mysql_close($db);
?>
schau mal ob es jetzt geht. Ansonsten hast du nen Fehler in der DB ;) -
Nein leider lag es auch nicht daran...Welche anderen/besseren M?glichkeiten seht ihr denn, diese Abfrage zu machen?
@0-checka: Meinst du, ich soll nicht das array extrahieren, sondern einfach jedesmal direkt aufs array zugreifen??? -
Hi,
wie sieht denn deine Datenbank aus???
Bei mir wurde alles korrekt angezeigt.
Ich geb dir mal den Link zu der ergebnisseite!!!
http://www.webhosting-4-you.de.vu/user/strike110
Das ist das Ergebnis, so soll es doch auch bei dir aussehen oder? -
Deine Seite kann leider nich angezeigt werden, aber ich denke es wird schon stimmen...Ich versuch es einfach nochmal..Danke f?r eure hilfe!
Ich hab das ganze erstmal nur auf meinem home server laufen gehabt...Vielleicht liegt es auch an dessen konfiguration?
Ich lad das script mal bei lima hoch...Mal sehen ob es da funktioniert
Vielen Dank nochmal
EDIT 0-checka
Doppelpost gel?scht. Inhalt des 2. Posts:
Also ich hab es jetzt auf lima versucht, hab es mit nem mysql_fetch_row und nem mysql_fetch_object probiert und auch die variante ohne extract und mit $row[feld] aber nichts hat funktioniert...
privateflash, kannst du mir bitte den code geben den du verwendet hast, und auch die felder in der DB, das w?rde mir sicher helfen...
-
Morgen.
strike110 schrieb:
[...] privateflash, kannst du mir bitte den code geben den du verwendet hast, und auch die felder in der DB, das w?rde mir sicher helfen...
Der Code den ich verwendet habe ist der hier (wie schon weiter oben geposted):
<?php
include ("config.php");
//mysql verbinden
$db = mysql_connect ($db_host , $db_usr , $db_pw);
//ausgabe-befehl
$query = "SELECT * FROM kiwiusr";
//ausgabe durchf?hren
$result = mysql_db_query($db_name , $query);
echo "
<table border=0>
<tr>
<td>Benutzername</td>
<td>CS Version</td>
</tr>
";
while ($row = mysql_fetch_array($result)) {
extract($row);
echo "
<tr>
<td>$user</td>
<td>$version</td>
</tr>
";
}
echo "</table>";
mysql_close($db);
?>
Ich habe in der entsprechenden Datenbank ein Tabelle mit dem Namen "kiwiusr" angelegt und dort 2 Felder.
Die Felder hei?en: "user" und "version" und haben das Format "Text".
Ich habe also nur deinen Code ?bernommen und ein paar Sch?nheitskorrekturen vorgenommen. Sonst habe ich eigenltich nichts gemacht.
Daher denke ich, das es ein Fehler in deiner DB sein muss.
Sch?ne Gr??e
P.S.: Wenn du ICQ hast, schreib mich da mal an
P.P.S.: Mein Server ist heute den ganzen Tag online, daher m?sstest du die Seite eigentlich sehen k?nnen die ich geposted habe:
http://guidoloerks.dyndns.org/webhosting/user/strike110
Anscheinend hat nic.de.vu gerade ein paar Probs *schulterzuck* -
Folgende ?nderungen schlage ich vor:
Alt:
//ausgabe durchf?hren
$result = mysql_db_query($db_name , $query);
Neu:
//ausgabe durchf?hren
if (($result = mysql_db_query($db_name , $query)) == false)
{
// irgendeine fehlerausgabe und skript beenden
}
Alt:
while ($row = mysql_fetch_array($result)) {
extract($row);
echo "
<tr>
<td>$user</td>
<td>$version</td>
</tr>
";
}
Neu:
while ($row = mysql_fetch_array($result)) {
$user = $row['spaltenname_wo_user_drinsteht'];
$version = $row['spaltenname_wo_version_drinsteht'];
echo "
<tr>
<td>$user</td>
<td>$version</td>
</tr>
";
}
N?chstes Mal bei DB-Problemen bitte den Tabellenaufbau posten. -
Ok...Ich hab das problem komplett ?bersehen: Das script is in Ordnung (von Anfang an...) nur hab ich es in eine html datei eingebunden, und das muss die probleme verursachen...Denn wenn ich das script alleine in ne .php datei packe, geht es problemlos...Ich ?berpr?f das mal eben...Danke f?r eure Hilfe und Unterst?tzung. Dadurch hab ich jetzt immerhin ein paar verbesserungen am script durchf?hren k?nnen
Also, ich danke euch nochmal -
Das ist jetzt nicht dein ernst oder???
Du hast probiert ne Datenbankabfrage mit einer *.HTML Datei zu machen???
Mann mann mann und daf?r den ganzen Stress. Demn?chst erst die Dateiendung ?berpr?fen -
Ja, tschuldigung...Ich hatte am Anfang nich geplant daraus ein php script zu machen und hab dann komplett vergessen die Endung zu ?ndern...Also, jetzt muss ich nur noch alles in php konvertieren, dann m?sste es klappen (also mit echo" <html> bla bla")
Danke nochmal f?r eure hilfe. Und wie gesagt: es hat mir gleichzeitig zu einem sch?neren script verholfen, also danke... -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage