Oplopende querynummers in while-lus

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jasper Sni

Jasper Sni

02/12/2008 19:29:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
if($_POST['LOL']=="" OR $_POST['DOH'] == "No"){
if($_GET['u'] == 1)
{

$a=1;
$b=21;
$catcher1=mysql_query("SELECT * FROM `catch` WHERE `map`='".$_GET['id']."'");
while($catcher=mysql_fetch_object($catcher1)){
$catch{$b}=mysql_query("SELECT * FROM `pokemon` WHERE `id`='".$catcher->catchid."'");
$catch{$a}=mysql_fetch_object($catch{$b});
$a++;
$b++;
}

?>


Hoe kan ik de nummers van de query laten oplopen(nu $a en $b genoemd) zodat ze elke keer een andere naam krijgen?
 
PHP hulp

PHP hulp

27/04/2024 07:25:28
 
Frank -

Frank -

02/12/2008 19:38:00
Quote Anchor link
Volgens mij zoek je een JOIN en heb je dus maar 1 query nodig om de data op te halen.

Verder horen backticks ` niet thuis in SQL, scheiten doe je op de pot en niet in je database.

mysql_fetch_object() is langzaam en heeft niets met objecten te maken. Gebruik mysql_fetch_assoc().
 
Jasper Sni

Jasper Sni

02/12/2008 19:50:00
Quote Anchor link
Maar de data moet later apart van elkaar weer gebruikt worden:

echo("<b>Wild $catch1->name appeared!</b><br>Will you catch this pokemon?");

Kan dat ook gewoon in 1 query dan? ;s
 
--

--

02/12/2008 19:55:00
Quote Anchor link
Jasper schreef op 02.12.2008 19:50:
Maar de data moet later apart van elkaar weer gebruikt worden:

echo("<b>Wild $catch1->name appeared!</b><br>Will you catch this pokemon?");

Kan dat ook gewoon in 1 query dan? ;s
Schoon je code eens op en luister naar Frank. :-)
 
Tikkes C

Tikkes C

02/12/2008 20:19:00
Quote Anchor link
en ja dat kan natuurlijk ook...maar werk met assoc dus: $catch1['naam']

maar gebruik JOIN (zie tutorials)! zo heb je die while ook niet nodig...
Gewijzigd op 01/01/1970 01:00:00 door Tikkes C
 
Jasper Sni

Jasper Sni

02/12/2008 20:41:00
Quote Anchor link
Tikkes schreef op 02.12.2008 20:19:
en ja dat kan natuurlijk ook...maar werk met assoc dus: $catch1['naam']

maar gebruik JOIN (zie tutorials)! zo heb je die while ook niet nodig...


Ik weet hoe assoc werkt, maar ik snap niks van die tutorials van join, het werkt hetzelfde als implode? maar daar vat ik ook niks van, iemand misschien een duidelijke tutorial?
 
Frank -

Frank -

02/12/2008 20:46:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
SELECT
  tabel1.kolomnaam,
  tabel2.kolomnaam
FROM
  tabel1
    JOIN
      tabel2 ON tabel1.id_kolom = tabel2.id

Wanneer tabel1 en tabel2 via id_kolom en id met elkaar zijn verbonden.

In jouw "code" kom ik dit tegen: id`='".$catcher->catchid.

Lijkt mij een verband tussen 2 tabellen. Zie verder de vele, vele, vele tutorials over dit onderwerp en leer JOIN's gebruiken. Doe je dat niet, dan kun je een database hooguit als een stuk kladpapier gebruiken en niet als database.
 
Jasper Sni

Jasper Sni

02/12/2008 20:49:00
Quote Anchor link
oke ja dat is al een stuk duidelijker, maar catcher->catchid is niet altijd gelijk, voor elke while is het verschillend, ik zou het wel in plaats van die while kunnen doen, want mapid is wel gelijk, maar hoe moet je die variabelen die je als resultaat krijgt dan weer gebruiken?
 
Frank -

Frank -

02/12/2008 20:51:00
Quote Anchor link
Ga nu eerst maar eens leren hoe je met een JOIN omgaat, het lijkt me sterk dat je daar nu al iets van snapt... Laat eerst maar eens de query zien met een JOIN ;)
 
Jasper Sni

Jasper Sni

02/12/2008 20:52:00
Quote Anchor link
pgFrank schreef op 02.12.2008 20:51:
Ga nu eerst maar eens leren hoe je met een JOIN omgaat, het lijkt me sterk dat je daar nu al iets van snapt... Laat eerst maar eens de query zien met een JOIN ;)


Oke ik ga nu wel kijken dan, even een nederlandse versie zoeken en dan zal ik eens iets proberen.
 
Frank -

Frank -

02/12/2008 21:00:00
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.