webForumDet fria alternativet

Arrayproblem

2 svar · 471 visningar · startad av SoulGod

SoulGodMedlem sedan aug. 20051 200 inlägg
#1

Håller nu på att bygga ett "bättre" adminsystem än det jag gjort tidigare,
och kör nu med en array.
Functionen ser ut såhär (inc_functions.php):

function info () {
  $fraga = mysql_query("SELECT * FROM episodes") or exit(mysql_error()); }
    while ($r = mysql_fetch_array($fraga)) {
    $fraga[] = array( "title" => $r[title], "season" =>  $r[s], "episode" =>  $r[e] ); 
    }

Och jag hämtar ut infon via (episodes.php):

<?PHP 
foreach (info as $r) { ?>

<?php echo $r['title']; ?>
<?php echo $r['season']; ?>
<?php echo $r['episode']; ?>

<?php } ?>

Men jag får en bunt med felmeddelanden ..
Undefined variable: fraga in C:\EasyPHP\www\simpsonslife\include\inc_functions.php on line 6

mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\EasyPHP\www\simpsonslife\include\inc_functions.php on line 6

Use of undefined constant info - assumed 'info' in C:\EasyPHP\www\simpsonslife\episodes.php on line 4

Invalid argument supplied for foreach() in C:\EasyPHP\www\simpsonslife\episodes.php on line 4

drewMedlem sedan mars 2007845 inlägg
#2
function info()
{
  $fraga = mysql_query("SELECT * FROM episodes") or exit(mysql_error());
}

while ($r = mysql_fetch_array($fraga))
{
  $fraga[] = array( "title" => $r[title], "season" =>  $r[s], "episode" =>  $r[e] ); 
}

Du borde läsa på lite om indentering. Indentering gör din kod lättare att både läsa och felsöka. Jag indenterade om din kod
$fraga är inte satt när du kör din while-sats

<?PHP 
foreach (info as $r) { ?>

<?php echo $r['title']; ?>
<?php echo $r['season']; ?>
<?php echo $r['episode']; ?>

<?php } ?>

Vad är detta för något? Tänkte du verkligen när du skrev det här?

<?php
foreach (info as $r)
{ 
  echo $r['title'];
  echo $r['season'];
  echo $r['episode'];
}
?>

Du har en funktion som du kallar info. foreach stegar genom en array.

Dies_IraeMedlem sedan aug. 2001145 inlägg
#3

Du ändra info i foreach till info() så funktionen anropas och sen returnera $fraga.

136 ms totalt · 3 externa anrop · v20260731065814-full.37765c92
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)