Autor Zpráva
louka
Profil *
mám problém, nechápu proč mi script:
<?php
include ( "pripojit.php" );

function query_db_data($query)
{
$ret="";
$result = @mysql_query($query);
for ($i=0; $i<@mysql_num_rows($result); $i++)
{
$ret[$i]=mysql_fetch_array($result, MYSQL_ASSOC);
}
@mysql_free_result($result);
return $ret;
}

$data=query_db_data("SELECT * FROM prispevky WHERE d_id = $id");
for ($i=0; $i<count($data); $i++)
{
echo "<h1>" . $data[$i]['d_nadpis'] . "</h1><p>" . include ($data[$i]['d_text']) . "</p>";
}
?>

napíše: Fatal error: Cannot use string offset as an array in /www/1/site37011/wwwroot/texty/show.php on line 7

Vysvětlí mi to někdo?
Joker
Profil
A řádek 7 je tenhle?
$ret[$i]=mysql_fetch_array($result, MYSQL_ASSOC);

Místo
$ret="";
by mělo být:
$ret = array();
louka
Profil *
oj, pardon... neni, sem sem prihodil fci aby bylo vidět jakože tam je... jinak je v pripojit.php...
řádek 7 je: echo "<h1>" . $data[$i]['d_nadpis'] . "</h1><p>" . include ($data[$i]['d_text']) . "</p>";
mrkněte na to ještě jednou. děkuju
Kcko
Profil
Vyhazej si ty zavinace, tu funkci mas celou spatne. Nemusis se to naplnit a pak to bude hazet to co nyni ..
Alphard
Profil
echo "<h1>" . $data[$i]['d_nadpis'] . "</h1><p>" . include ($data[$i]['d_text']) . "</p>";
nelze
Joker
Profil
Jo aha.
Nicméně i tak by mělo pomoct to co jsem psal.

Tipuju příčinu:
- nenajde se žádný záznam
- $ret je tedy řetězec ""
- tím pádem $data = "", tedy řetězec
- count řetězce je 1, takže se vleze do toho cyklu a následně zhavaruje to echo.

Potom by mělo pomoct inicializovat $ret prázdným polem anebo NULL (obojí má count() = 0)
louka
Profil *
nevím, jestli je celá špatně... u jiné stránky používám stejnou a šlape dobře.
např:
<?php
include ( "pripojit.php" );

$data=query_db_data("SELECT * FROM prispevky");
for ($i=0; $i<count($data); $i++)
{
echo "
<a href='index.php?page=ukaz&show=" . $data[$i]['d_id'] . "'>
<div>
<h2>" . $data[$i]['d_nadpis'] . "</h2>
<p>" . $data[$i]['d_pred'] . "</p>
</div>
</a>
<br>
";
}

?>

- fce je zapsána v souboru pripojit.php...
je zajímavé na zde to chybu nepíše, i když je to vlastně to samé. :(
louka
Profil *
Joker
Možná je tohle to pravé. Zkusím si s tím vyhrát. Děkuju.
louka
Profil *
Joker
Super! diky. už to funguje. fakt moc dik.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: