PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!
Moderator: General Moderators
vzwhaley
Forum Newbie
Posts: 5 Joined: Tue Oct 18, 2005 10:04 am
Post
by vzwhaley » Fri Feb 23, 2007 2:58 pm
I cannot get the following in_array to loop through all of the values of the $CuisineListS array. Does anyone know how to correctly loop through an in_array? In the following code, I should have 5 matches, but it only echoes one match. Any tips will be appreciated.
Code: Select all
$sql = "SELECT * FROM Restaurants WHERE ID = '6'";
$Recordset = mysql_query($sql);
$RS = mysql_fetch_assoc($Recordset);
$sql1 = "SELECT * FROM RestaurantsCuisine ORDER BY CuisineType ASC";
$Recordset1 = mysql_query($sql1);
$Cuisine = $RS['Cuisine'];
$CuisineListS = explode("|", $Cuisine);
while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)) {
if(in_array($row_Recordset1['ID'], $CuisineListS)) {
echo "Match: " . $row_Recordset1['ID'] . "<br><br>";
}
}
volka
DevNet Evangelist
Posts: 8391 Joined: Tue May 07, 2002 9:48 am
Location: Berlin, ger
Post
by volka » Fri Feb 23, 2007 4:53 pm
try
Code: Select all
error_reporting(E_ALL); ini_set('display_errors', true); // for debugging
$sql = "SELECT Cuisine FROM Restaurants WHERE ID = '6'";
$Recordset = mysql_query($sql) or die(mysql_errors().': '.$sql);
if ( false!== ($RS=mysql_fetch_array($Recordset, MYSQL_ASSOC)) ) {
$CuisineList = array_map('intval', explode("|", $RS['Cuisine']));
$CuisineList = join(',', $CuisineList);
$sql = "SELECT
ID
FROM
RestaurantsCuisine
WHERE
ID IN ( $CuisineList )
ORDER BY
CuisineType ASC";
$result = mysql_query($sql) or die(mysql_errors().': '.$sql);
while ( false!== ($row=mysql_fetch_array($result, MYSQL_ASSOC)) ) {
echo 'Match: ' , $row['ID'] , "<br />\n";
}
}even better: don't store a all id in one file but normalize the tables. Then you can query all you need with one single sql statement. see
http://en.wikipedia.org/wiki/Database_normalization