Hi mensen,

ik ben dus nu bezig met die 'pokemon' site van mijn broertje, en ik kom er alleen nu niet meer uit!

Weet iemand waarom dit niet werkt? (het zet alleen een witte pagina op het scherm (error reporting staat aan)

<?php
if((isset($_GET['act']) && $_GET['act'] == "mijn")){
$i = 1;
$sql1 = "SELECT p_id FROM ".$_SESSION['user_id']."_pokemon WHERE id = '".$i."'";
$sql2 = "SELECT * FROM pokemon WHERE id = '".$idd."'";
while ($i <= 300) {
$res1 = mysql_query($sql1);
while ($row1 = mysql_fetch_array($res1)) {
$idd = $row1['p_id'];
if (mysql_num_rows($res1) == 0) {
exit();
}
$res = mysql_query($sql2);
$row = mysql_fecth_array($res2)
echo '<tr>
<td class="rij">
'.$row['id'].'
</td>
<td class="rij">
<a href="'.$row['link'].'">'.$row['naam'].'</a>
</td>
<td class="rij">
'.$row['type'].'
</td>
<td align="center" valign="middle" class="rij">
<a href="index.php?add='.$row['id'].'"><img src="images/add.gif" border="0"></a>
</td>
</tr>';

}
$i++;
}
exit();
}
?>

MvG,
niek
ja

dat komt beter in de buurt
het maakt voor mysql niet uit of er veel tabellen en veel records zijn
jattert?
ok, dan doe ik het zo :-)
niek schreef op 31.07.2006 14:45
dus ik moet een soort tabel hebben met dit:

id | pokemon_id | user_id | level

?


ja
en daar kun je alle andere gegevens over de pokemons plaatsen
Het zou zo maar kunnen, ik weet niet precies welke data je allemaal wilt opslaan en welke relaties er allemaal zijn.

Wanneer je begint te normaliseren, ga dan vooral NIET in tabellen denken. Welke tabellen je nodig hebt en hoe deze er uit komen te zien, dat blijkt pas aan het einde van het hele normalisatie-proces. Denken in tabellen leidt alleen maar af en vergroot de kans op fouten in het datamodel. En dat wil je juist voorkomen...

Tip: Gebruik straks de innoDB-database engine en niet de standaard MyIsam-engine. Dan kun je ook gebruik maken van foreign keys (FK). Hiermee wordt de database een stukje robuster. Het gebruik van FK's wordt ook in het artikel over normalisatie uitgelegd.
Bedankt iedereen! het werkt!
Maar ik zit nu alleen met dit probleem, en ik dacht. hoef ik niet echt een nieuw topic voor te openen...

Dit script moet alle rows uit pokemon halen die als id hetzelfde hebben als p_id in user_pokemon.. het enige probleem: 'het zet ALLE pokemon op het scherm :-('

weet iemand de oplossing? ( die while loop was meer een experimentje, maar het werkt niet helemaal blijkbaar :p)

<?php
if(isset($_GET['act']) && $_GET['act'] == "mijn") {
$res = mysql_query("SELECT p_id FROM user_pokemon WHERE u_id = '".$_SESSION['user_id']."' ORDER BY id") or die(mysql_error());
$res2 = mysql_query("SELECT * FROM pokemon WHERE id = '".$roww['p_id']."'") or die(mysql_error());
while($roww = mysql_fetch_assoc($res) && $row = mysql_fetch_array($res2)){
echo '<tr>
<td class="rij">
'.$row['id'].'
</td>
<td class="rij">
<a href="'.$row['link'].'">'.$row['naam'].'</a>
</td>
<td class="rij">
'.$row['type'].'
</td>
<td align="center" valign="middle" class="rij">';
$sql2 = "SELECT * FROM user_pokemon WHERE u_id = '".$_SESSION['user_id']."' AND p_id = '".$row['id']."'";
$res2 = mysql_query($sql2);
if (mysql_num_rows($res2) == 0) {
echo '<a href="index.php?da='.$row['id'].'"><img src="images/kruis.gif" border="0"></a>';
} else {
echo '<a href="index.php?da='.$row['id'].'"><img src="images/vinkje.gif" border="0"></a>';
}
echo '
</td>
</tr>';
}
}
?>

verder niets met je vraag te maken maar ik zie dat je dit $sql , $sql2 , $row , $roww gebruikt. Als je nou een beetje slim bent maak je daar iets van wat je gemakkelijk kan terug vinden bijv:

<?
$login_sql = 'SELECT veld FROM tabel';
$login_res = mysql_query($login_sql,$link);


$zoek_sql = 'SELECT veld FROM tabel WHERE veld LIKE waarde';
$zoek_res = mysql_query($zoek_sql,$link);

?>

etcetc

als jij nu 9 querys hebt lopen en ze heten allemaal $sql## , moet je eerst zoeken wat gebeurd daar eigenlijk, terwijl je dit met logische naamgeven ook logisch kan terugvinden
(ik weet het, het is raar, maar toch: ) ja dat doe ik ook meestal wel, maar pas als het HELE script klaar is, dan loop ik ALLE php zooi nog eens langs, en hernoem ik de query namen enz.
beetje dubbelop :) als je alles moet renamen vergeet je altijd wel iets, en zoek daan maar waar het zit dat je script niet werkt :)
Offtopic: Je houdt er een bijzonder ongelukkige werkwijze op na. Eerst een slecht systeem bouwen, niet normaliseren, geen foutafhandeling, slechte naamgevingen etc. en vervolgens probeer je daar een goed systeem van te gaan maken. Dat is nog nooit iemand gelukt. Stel jezelf vanaf het begin tot doel om een goed systeem te maken!

Dan het probleem:
$res = mysql_query("SELECT p_id FROM user_pokemon WHERE u_id = '".$_SESSION['user_id']."' ORDER BY id") or die(mysql_error());
$res2 = mysql_query("SELECT * FROM pokemon WHERE id = '".$roww['p_id']."'") or die(mysql_error());

Dit gaat niet werken, in $res2 roep je $roww['p_id'] aan die helemaal niet bestaat. Die wordt pas in de while-lus (op de volgende regel) aangemaakt.
maar hoe moet ik het dan doen?
(heb al verschillende dingen geprobeerd..)

Reageren