[SQL&PHP] Several sql quieries in php pagina

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Choller
  • Registratie: Juli 2001
  • Laatst online: 22-05-2024
Ik heb de volgende vraag.

Ik moet verschillende queries draaien op een pagina.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
mysql_connect (blablabla);
mysql_select_db (bla);
$sql= "SELECT * FROM specs";
$result1 = mysql_query($sql);

while ($row = mysql_fetch_array($result1))
{
?>
    

<tr><td> <?php echo $row["spec"] ?> </td></tr>
***************************

<?php   
}   
?>
</table>
</body>
</html>

Waar de "xxxx" staan moet een rij erin komen. In die rij/kolom moet eigenlijk een hele andere sql quiery gedraaid worden. Deze haalt gegevens uit een andere tabel. Zoals dit
code:
1
2
3
4
5
6
7
<tr><td>
<?php 
mysql_connect thinggy;
mysql_select_db (themainclick);
$result = mysql_query("SELECT upg_name FROM sat_upgrades where sat_upgrades.upg_id = sat_specs.spe_upgrades_id");
?>
</td></tr>

Moet dit er tussen staan ?
Hoe moet ik dat doen ? Ik kan niet daarin opnieuw een quier draaien want anders is mijn loop naar de kl0te....iemand idee/tips ?
Overigens...bovenste code wordt correct uitgevoerd.

Acties:
  • 0 Henk 'm!

  • Ramon
  • Registratie: Juli 2000
  • Laatst online: 10:22
hmmmm... ok :?

Check mijn V&A ads: https://tweakers.net/aanbod/user/9258/


Acties:
  • 0 Henk 'm!

  • Brainstorm
  • Registratie: November 2000
  • Laatst online: 03-09 21:47
Je bedoelt waarschijnlijk: als ik nog een query maak en ik stop het resultaat in $result1, dan is de orginele $result1 kapot? Dit is toch simpel op te lossen door het resultaat van de tweede query niet toe te wijzen aan $result1, maar aan een geheel nieuwe variable (bijvoorbeeld $result2). Dus:
PHP:
1
<?while ($row = mysql_fetch_array($result1)){  ?>  <tr><td> <?php echo $row["spec"] ?> </td></tr>  <?php  $query = "SELECT * FROM een_tabel";  $result2 = mysql_query($query);  while ($row2 = mysql_fetch_array($result2)  {     // druk $row2 af..  }}?>

Of begrijp ik de vraag verkeerd?

Programmer's Drinking Song: 99 little bugs in the code, 99 bugs in the code, Fix one bug, compile it again, 100 little bugs in the code. (go to start if bugs>0)


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op dinsdag 16 juli 2002 15:16 schreef Choller het volgende:
Waar de "xxxx" staan moet een rij erin komen. In die rij/kolom moet eigenlijk een hele andere sql quiery gedraaid worden. Hoe moet ik dat doen ? Ik kan niet daarin opnieuw een quier draaien want anders is mijn loop naar de kl0te....iemand idee/tips ?
Overigens...bovenste code wordt correct uitgevoerd.
Andere loop maken, misschien zijn je queries sowieso wel samen te voegen etc etc etc.

Met zo'n vage beschrijving komen we nergens.

Acties:
  • 0 Henk 'm!

Verwijderd

Natuurlijk kun je binnen een loop en terwijl er nog een cursor open staat een nieuwe query draaien en een tweede cursor opbouwen, in een nieuwe loop doorlopen en afsluiten.

Misschien is het zinvol het eerst te proberen voordat je vraagt of het kan. ;)

Acties:
  • 0 Henk 'm!

  • Choller
  • Registratie: Juli 2001
  • Laatst online: 22-05-2024
Sorry dat de beschrijving vaag is maar het is ook een beetje vaag om het uit te leggen.

Nog een poging:
Ik wil 2 aparte sql queries gebruiken. Maar bij de loop "while ($row = mysql_fetch_array($result1))" loop ik vast want hierin kan ik alleen die ene query gebruiken.

In deze loop wil ik die andere query gebruiken.

Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Doe dan nog een poging het uit te leggen :)
code:
1
2
3
4
5
while($row = result_of_query1)
{
    $query2 = "Select * from bla where iets = $row[1]";
    // executen en fetchen
}

Is namelijk prima mogelijk hoor.

Acties:
  • 0 Henk 'm!

Verwijderd

Als je overigens twee ongerelateerde set gegevens in een tabel wil zetten kan je natuurlijk ook gewoon allebei de results naar een array fetchen en daarna in 1 loop door beide sets heenlopen. Let er wel op dat het niet mis gaat als je een ongelijk aantal resultaten hebt.
Pagina: 1