在foreach循环中使用SQL结果 [英] Using an SQL result in a foreach loop
本文介绍了在foreach循环中使用SQL结果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我觉得我错过了一些愚蠢的明显的东西,我试图得到一个SQL查询的结果,然后在循环中使用它们。我觉得我失去了一些愚蠢的东西,我试过了,没有注释掉。
<?php
$ sentToID = $ _SESSION ['userID'];
$ query =SELECT *
FROM messages
WHERE sentToID ='$ sentToID';
$ results = mysql_query($ query);
// $ userData = mysql_fetch_array($ results,MYSQL_ASSOC);
$ b 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'];
回显< div>< p> 。 $ forename。 。 $姓。 < / p>
< p>主题:。 $ subject。< / p>
< p>正文:。 $ body。 < / P>< / DIV> 中;
if($ usertype ==employer){
$ forname = $ messageData ['forename'];
$ surname = $ messageData ['surname'];
$ companyName = $ messageData ['companyName'];
echo< div>< p> 。 $ forename。 。 $姓。 - 。 $ companyName。 < / p>
< p>主题:。 $ subject。< / p>
< p>正文:。 $ body。 < / P>< / DIV> 中;
}
}
?>
任何帮助将不胜感激
解决方案而不是你的
<$ p $($ result = mysql_fetch_assoc($ results)){
//你的代码
}
foreach()
,你应该这样做(参见 mysql_query()手册页面): <$ p $($ result = mysql_fetch_assoc($ results)){
//你的代码
}
I feel like I am missing something stupidly obvious here, I am trying to get the results of an SQL query and then using them in a loop. I feel like I am missing something stupidly obvious, I have tried it with and without the commented out line.
<?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>";
}
}
?>
Any help would be greatly appreciated
解决方案
Instead of your foreach()
, you should do something like this (see the mysql_query() manual page for more):
while($result = mysql_fetch_assoc($results)) {
// your code
}
这篇关于在foreach循环中使用SQL结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文