Oplopende querynummers in while-lus
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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++;
}
?>
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?
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().
echo("<b>Wild $catch1->name appeared!</b><br>Will you catch this pokemon?");
Kan dat ook gewoon in 1 query dan? ;s
Jasper schreef op 02.12.2008 19:50:
Schoon je code eens op en luister naar Frank. :-)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
echo("<b>Wild $catch1->name appeared!</b><br>Will you catch this pokemon?");
Kan dat ook gewoon in 1 query dan? ;s
maar gebruik JOIN (zie tutorials)! zo heb je die while ook niet nodig...
Gewijzigd op 01/01/1970 01:00:00 door Tikkes C
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...
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?
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
SELECT
tabel1.kolomnaam,
tabel2.kolomnaam
FROM
tabel1
JOIN
tabel2 ON tabel1.id_kolom = tabel2.id
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.
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?
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 ;)
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.