Goeiemorgen mensen,
Ik ben al een weekje aan het stoeien met een script maar zie door de bomen het bos niet meer.
Ik had een script dat via MySQL en PHP kan zoeken op "onderwerp". Bij dat onderwerp onthoud die het bijbehorende serienummer. Hierna ging hij een query uitvoeren om alles te laten zien waar dit serienummer bij hoort. 1 Serienummer komt namelijk vaker voor in de database en moet dus ook meerdere keren worden weergegeven.
Ik heb nu een script dat alleen maar het eerste serienummer weergeeft en niet de rest.
Wat ik eraan moet veranderen heeft iemand mij al mee geholpen alleen nu weet ik niet waar ik dat overal neer moet zetten. Die persoon zei: "Je moet ook met een while() alle records ophalen en elk serienummer aan elkaar plakken tot je uiteindelijk een lijst van nummers krijg met een komma er tussen. Die string plak je dan in de query voordat je heb gaat uitvoeren."
Als ik alleen zijn query uitvoer krijg ik een error.
Hier het deel van het script van mij waar het om draait:
<?
//connect to your database ** EDIT REQUIRED HERE **
mysql_connect("localhost","",""); //(host, username, password)
//specify database ** EDIT REQUIRED HERE **
mysql_select_db("shell") or die("Unable to select database"); //select which database we're using
// Build SQL Query
$result = mysql_query("SELECT * FROM onderdelen WHERE omschrijving LIKE '%" .$trimmed. "%' ");
$row = mysql_fetch_array($result);
$query = "select * from onderdelen where serienummer in(".$row['serienummer'].")
order by serienummer";
$numresults=mysql_query($query);
$numrows=mysql_num_rows($numresults);
if ($numrows == 0)
{
echo "<p>Sorry, uw zoekopdracht: "" . $trimmed . "" heeft geen resultaten opgeleverd.</p>";
}
// get results
$result = mysql_query($query) or die("Couldn't execute query");
// display what the person searched for
echo "<p>U heeft gezocht naar de omschrijving:<b> "" . $var . ""</b></p>";
// begin to show results set
echo "<table width='970' border=0>";
echo "<tr>";
echo "<td width='85'><strong>MESC-nummer</strong></td>";
echo "<td width='75'><strong>Type-nummer</strong></td>";
echo "<td width='210'><strong>Omschrijving</strong></td>";
echo "<td width='170'><strong>Type</strong></td>";
echo "<td width='70'><strong>Grootte</strong></td>";
echo "<td width='180'><strong>Eigenschappen</strong></td>";
echo "<td width='90'><strong>Alias</strong></td>";
echo "<td width='90'><strong>Naam</strong></td>";
echo "</tr>";
while ($row= mysql_fetch_array($result)) {
echo "<tr>";
echo "<td width='85'>".$row["serienummer"]."</td>";
echo "<td width='75'>".$row["typenummer"]."</td>";
echo "<td width='210'>".$row["omschrijving"]."</td>";
echo "<td width='170'>".$row["type"]."</td>";
echo "<td width='70'>".$row["grote"]."</td>";
echo "<td width='180'>".$row["eigenschappen"]."</td>";
echo "<td width='90'>".$row["alias"]."</td>";
echo "<td width='90'>".$row["naam"]."</td>";
echo "</tr>";
}
echo"</table>";
?>
Hier hetgene wat ik erbij in zou moeten voegen;
<?
// Maak een array
$aSerienummers = array();
// begin een lus die doorgaat zolang er records opgehaald kunnen worden
while($row = mysql_fetch_assoc($result))
{
// zet elk opgehaald serienummer in de array
$aSerienummers[] = $row['serienummer'];
}
// zet de array om naar een string door komma's tussen de nummers te plakken
$sString = implode(',' , $aSerienummers);
// Plak de string in de query
$query = "select * from onderdelen where serienummer in(".$sString.") order by serienummer";
?>
Maargoed ik weet dus niet precies waar enzo :(
Ik hoop echt dat iemand mij hiermee kan helpen...
946 views