Problem mit SQL-Abfrage

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
porfavor
Mitglied
Beiträge: 834
Registriert: 23.08.2006 00:35
Wohnort: Tuttlingen
Kontaktdaten:

Problem mit SQL-Abfrage

Beitrag von porfavor »

Hallo,

ich habe folgenden Code. Jedoch bekomme ich keinen Output dafür, was egtl durch echo hervorgerufen werden sollte. Bei Bedarf kann ich auch noch die Struktur der DB Tabelle posten.

Hier der Code:

Code: Alles auswählen

<html>
<body background="bg.jpg">
</body>
</html>
<?php

/*Formulardaten umwandeln*/
$firstname = $_POST['firstname'];
$surname = $_POST['surname'];
$gender = $_POST['gender'];
$day = $_POST['day'];
$month = $_POST['month'];
$year = $_POST['year'];
$location = $_POST['location'];
$state = $_POST['state'];
$email = $_POST['email'];
$comment = $_POST['comment'];

/*Verbindung zur DB*/
include_once("db.php");

/*In die DB einlesen*/
$entry = "INSERT INTO hug(firstname, surname, gender, day, month, year, state, location, email, comment)
VALUES ('$firstname', '$surname', '$gender', '$day', '$month', '$year', '$state', '$location', '$email', '$comment')"
or die (mysql_error());
$input = mysql_query($entry);

echo "<center><b>Ihr Eintrag wurde erfolgreich vorgenommen!</b></center><br><br><br>";


/*Per Zufall aus der DB auslesen*/

$abfrage = mysql_query("Select * FROM hug ORDER BY RAND() LIMIT 1");
$row = mysql_fetch_object($abfrage);
echo $row->text;
mysql_close($connect);
?>

Das Einlesen klappt ohne Probleme. Nur das Auslesen nicht. Wahrscheinlich ist der Fehler schon lächerlich aber ich bin kann grad nicht gut denken, was habe ich übersehen? Ich wäre für Hilfe dankbar.
Lebe dein Leben solange du kannst.

Jugendgemeinderat-Tuttlingen
Benutzeravatar
atrox
Mitglied
Beiträge: 242
Registriert: 08.08.2007 00:48
Wohnort: Ravensburg

Beitrag von atrox »

Probier mal

Code: Alles auswählen

echo $row['text']; 
ansonsten

Code: Alles auswählen

echo $arr = (is_array($row)) ? 'Okay' : 'Kein Array';
Benutzeravatar
porfavor
Mitglied
Beiträge: 834
Registriert: 23.08.2006 00:35
Wohnort: Tuttlingen
Kontaktdaten:

Beitrag von porfavor »

das erste geht nicht.
Das zweite liefert "Kein Array".
Aber egtl war das ja schon klar...
Lebe dein Leben solange du kannst.

Jugendgemeinderat-Tuttlingen
Benutzeravatar
atrox
Mitglied
Beiträge: 242
Registriert: 08.08.2007 00:48
Wohnort: Ravensburg

Beitrag von atrox »

Äh, klar, musst natürlich noch

Code: Alles auswählen

$row = mysql_fetch_assoc($abfrage);
machen, wenn dann nichts kommt, liegt es an der Abfrage (also andem was mysql_query sendet).
Benutzeravatar
porfavor
Mitglied
Beiträge: 834
Registriert: 23.08.2006 00:35
Wohnort: Tuttlingen
Kontaktdaten:

Beitrag von porfavor »

Code: Alles auswählen

$abfrage = mysql_query("Select * FROM hug ORDER BY RAND() LIMIT 1");
 $row = mysql_fetch_object($abfrage);
 $row = mysql_fetch_assoc($abfrage);
echo $row->text;
liefert auch nichts. Meintest du das so?

Ja aber dann würde doch ein fehler kommen?
Lebe dein Leben solange du kannst.

Jugendgemeinderat-Tuttlingen
Benutzeravatar
atrox
Mitglied
Beiträge: 242
Registriert: 08.08.2007 00:48
Wohnort: Ravensburg

Beitrag von atrox »

Code: Alles auswählen

$abfrage = mysql_query("Select * FROM hug ORDER BY RAND() LIMIT 1");
 $row = mysql_fetch_assoc($abfrage);
echo $row['text'];

echo $arr = (is_array($row)) ? 'Okay' : 'Kein Array';
So meinte ichs.
Benutzeravatar
porfavor
Mitglied
Beiträge: 834
Registriert: 23.08.2006 00:35
Wohnort: Tuttlingen
Kontaktdaten:

Beitrag von porfavor »

jetzt bekomme ich zwar okay, aber keinen anderen output.
Lebe dein Leben solange du kannst.

Jugendgemeinderat-Tuttlingen
Benutzeravatar
atrox
Mitglied
Beiträge: 242
Registriert: 08.08.2007 00:48
Wohnort: Ravensburg

Beitrag von atrox »

Les mal das ganze Array mit einer foreach-Schleife aus.

Code: Alles auswählen

foreach ($row as $value) {
    echo $value;
}
Benutzeravatar
porfavor
Mitglied
Beiträge: 834
Registriert: 23.08.2006 00:35
Wohnort: Tuttlingen
Kontaktdaten:

Beitrag von porfavor »

das geht danke :)

Wenn ich nochmal Hilfe brauche, melde ich mich.
Lebe dein Leben solange du kannst.

Jugendgemeinderat-Tuttlingen
Benutzeravatar
porfavor
Mitglied
Beiträge: 834
Registriert: 23.08.2006 00:35
Wohnort: Tuttlingen
Kontaktdaten:

Beitrag von porfavor »

So neue Frage:

Habe noch nie mit sowas zufälligem gearbeitet.

Ich musste bisschen ummodeln und habe jetzt einzelne Abfragen. Ich möchte es aber zwar gern so, dass z.B. der Vorname per Zufall ausgelesen wird. Nur sollen die anderen Informationen aus der gleiche Zeile stammen. Wie mache ich das?

Bsp:


In der DB Tabelle steht folgendes

Firstname Surname Email
fn1 sn1 em1
fn2 sn2 em2
fn3 sn3 em3

Ich will aber immer eine Zeile auslesen. Nur brauch ich für das Template eben einzelne Variablen.
Lebe dein Leben solange du kannst.

Jugendgemeinderat-Tuttlingen
Antworten

Zurück zu „Coding & Technik“