Mit einem SQL-Ergebnis in einer foreach-Schleife
Ich fühle mich wie ich bin etwas fehlt offensichtlich dumm hier, ich werde versuchen, die Ergebnisse einer SQL-Abfrage und dann mit Ihnen in einer Schleife. Ich fühle mich wie ich bin etwas fehlt dummerweise offensichtlich, ich habe es versucht mit und ohne die auskommentierte Zeile.
<?php
$sentToID = $_SESSION['userID'];
$query = "SELECT *
FROM messages
WHERE sentToID = '$sentToID'";
$results = mysql_query($query);
//$userData = mysql_fetch_array($results, MYSQL_ASSOC);
foreach ($results as $result){
$messageID = $result['messageID'];
$sentFromID = $result['sentFromID'];
$subject = $result['subject'];
$body = $result['body'];
$dateTime = $result['dateTime'];
$query = "SELECT usertype
FROM user
WHERE userID = '$sentFromID'";
$messageResult = mysql_query($query);
$messageData = mysql_fetch_array($messageResult, MYSQL_ASSOC);
$usertype = $messageData['usertype'];
$query = "SELECT *
FROM $usertype
WHERE userID = '$sentFromID'";
$messageResult = mysql_query($query);
$messageData = mysql_fetch_array($messageResult, MYSQL_ASSOC);
if ($usertype == "jobseeker"){
$forname = $messageData['forename'];
$surname = $messageData['surname'];
echo "<div><p>" . $forename . " " . $surname . "</p>
<p>Subject: " . $subject ."</p>
<p>Body: " . $body . "</p></div>";
}
if ($usertype == "employer"){
$forname = $messageData['forename'];
$surname = $messageData['surname'];
$companyName = $messageData['companyName'];
echo "<div><p>" . $forename . " " . $surname . " - " . $companyName . "</p>
<p>Subject: " . $subject ."</p>
<p>Body: " . $body . "</p></div>";
}
}
?>
Jegliche Hilfe würde sehr geschätzt werden
und was ist das problem?
Wenn auskommentiert, sollte nicht die foreach Lesen
Wir können nicht helfen, wenn Sie nicht sagen uns, was das problem ist. Trotzdem, die Arbeit mit dem array müssen Sie das array, nicht die Abfrage! Das bedeutet, Sie haben
Wenn auskommentiert, sollte nicht die foreach Lesen
foreach($userData as $result)
?Wir können nicht helfen, wenn Sie nicht sagen uns, was das problem ist. Trotzdem, die Arbeit mit dem array müssen Sie das array, nicht die Abfrage! Das bedeutet, Sie haben
$result
in Ihrem foreach
statt $userData
InformationsquelleAutor Richie | 2011-12-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Statt Ihre
foreach()
sollten Sie so etwas tun (siehe die mysql_query() manual page für mehr):InformationsquelleAutor Crontab
Müssen Sie zunächst Holen Sie Ihre Ergebnisse in ein array. Sieht aus wie Sie begann, dies zu tun, aber kommentiert es aus.
InformationsquelleAutor Michael Berkowski
weitere option
Können Sie nichts tun von hier aus.
Erinnern,
1 - Objekt Abfrage in $Ergebnis
2 - fetch-Zeile zu einem Zeitpunkt aus dem Objekt in ein array widerspiegelt, wird eine gesamte Zeile in der Tabelle Ihre query-definition mit assoziativen keys oder numerische
3 - etwas zu tun mit der array
Werden Sie in einer Schleife durch das Objekt zeilenweise in $row als array.
Cheers
InformationsquelleAutor matting
Habe ich nicht den Ruf, zu kommentieren, und die oben genannten Antworten sind richtig, aber die php mysql_query() manual page sagt, dass
Nun also ein korrekte Weg wäre:
InformationsquelleAutor Bartho