LS,
Voor een nieuwe versie van mijn scorelijst op mijn hangman spel wil ik met drie arrays tegelijk werken om
1. vanuit de $score_tables - array een tabelnaam op te halen waarmee ik met een SELECT in de database de hoogste scores zal ophalen.
De gebruiker zal deze naam niet in het scherm zien.
2. vanuit de $categories - array de categorienaam van een tabel op te halen om aan de gebruiker te tonen.
3. de $word_amount[] - array met behulp van de uitkomst van de query te vullen.
Uiteindelijk moet de tabel die op het scherm getoond moet worden er zo uitzien:
[m.b.v. $categories] || [m.b.v. $word_amount]
UIT DE TYCOON NEWSPAPER || 876
CONTAMINATIES || 57
ONBESTAANDE BEROEPEN || 122
LEUK WOORD VOOR GALGJE -MOEILIJK- || 104
etc.
In plaats daarvan wordt het volgende getoond, op basis van de huidige code die ik nu heb:
[m.b.v. $categories] || [m.b.v. $word_amount]
UIT DE TYCOON NEWSPAPER || 876
CONTAMINATIES || 876
ONBESTAANDE BEROEPEN || 57
LEUK WOORD VOOR GALGJE -MOEILIJK- || 57
etc.
Probleem waar het op stuk loopt:
Variable $iSize telt de inhoud van de array $word_amount 2x!
Zou array $word_amount 14 records bevatten, dan wordt $iSize op 28 gezet, etc.
Eigen poging om het op te lossen staat in de code onder '// Mijn poging'.
Maar levert als resultaat dat er inderdaad de helft zoveel regels wordt afgedrukt, maar nog altijd met opeenvolgend elke waarde uit $word_amount 2x.
Hieronder mijn code en daaronder de url naar de betreffende live-pagina. Mocht er nog meer info wenselijk zijn dan hoor ik het graag.
<?php
// ****************************************************************************************
// GET SCORE PER CATEGORY FOR THIS CRIMINAL *
// ****************************************************************************************
// Per categorie de score ophalen van deze crimineel
// ****************************************************************************************
foreach ($score_tables as $table)
{
$sql_times_hangman = "SELECT COUNT( `best` ) FROM `$table` WHERE `best` = '$criminal'";
$result = mysql_query($sql_times_hangman) or die(mysql_error());
if($localmode === true)
{
$adminqueries .=
"<br>SQL hoogste score van crimineel in categorie " . $table . ": " .
$sql_times_hangman . "<br>";
}
$word_amount[] = $amount;
while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
{
foreach ($line as $amount)
{
array_push($word_amount, $amount);
echo $amount . "<br>";
}
}
}
// ****************************************************************************************
// SHOW COLUMS WITH SCORE DETAILS *
// ****************************************************************************************
// Weergave van score
// ****************************************************************************************
$iSize = count($word_amount) >= count($categories) ? count($word_amount) : count($categories);
// Mijn poging :
// $iSize = ($iSize / 2);
for ($i = 0; $i < $iSize; $i++)
{
echo
'<tr><td>'.(isset($categories[$i]) ? $categories[$i] : ' ').'</td>
<td>'.(isset($word_amount[$i]) ? $word_amount[$i] : ' ').'</td></tr>';
}
// ****************************************************************************************
?>
URL: http://www.wsnoi.com/index.php?page=oldhangman
Vast bedankt voor het meedenken!
Groeten,
Gsorsnoi
Toevoeging de twee arrays $score_tables & $categories:
<?php
// ****************************************************************************************
// CREATE SCORE TABLES ARRAY *
// ****************************************************************************************
$score_tables = array(
1 => "hangman",
2 => "hang_contaminaties",
3 => "hang_onbest_beroep",
4 => "hang_leuk_hard",
5 => "hang_marten_toonder",
6 => "hang_medisch",
7 => "hang_nost_kindertv",
8 => "hangman_pokemon",
9 => "hang_geletrui",
10 => "hang_basket",
11 => "hang_emoties",
12 => "hang_wii",
13 => "hang_auto",
14 => "hang_overdebijbel"
);
// ****************************************************************************************
// CREATE AVAILABLE CATEGORY ARRAY *
// ****************************************************************************************
$categories = array(
1 => "UIT DE TYCOON NEWSPAPER",
2 => "CONTAMINATIES",
3 => "ONBESTAANDE BEROEPEN",
4 => "LEUK WOORD VOOR GALGJE -MOEILIJK-",
5 => "MARTEN TOONDER",
6 => "MEDISCHE WERELD",
7 => "NOSTALGISCHE KINDER TV",
8 => "POKEMON",
9 => "GELE TRUIDRAGERS",
10 => "NBA BASKETBALLSPELERS",
11 => "EMOTIONELE TOESTANDEN",
12 => "WII GAMES",
13 => "AUTOMERKEN",
14 => "OVER DE BIJBEL"
);
?>
3.499 views