Autor Zpráva
Weeren
Profil *
Ahojda... Please trápim se tu tady stim hodinu :(
Nevíte proč mi to neupravuje skočí tam spátky prázdej formulář :( a když dole u toho $id sma6u to '$id' na $id tak mi to h=ay9 chzbu toho řádku - $data = mysql_fetch_row($sql2); s textem
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\www\www\site_gaston\admin\korektura.php on line 123.. Please help

if (!$id && !$send)
{
@$sql = mysql_query("SELECT * FROM recepty ORDER BY ID");

// pokud je v databázi alespoò jeden èlánek
if(@mysql_num_rows($sql) > 0)
{
?>
<table border=0 cellspacing=0 cellpadding=1>
<tr bgcolor=#C0C0C0>
<td bgcolor=#C0C0C0><b> Název</b></td>
<td bgcolor=#C0C0C0 align="center"><b> Datum </b></td>
<td bgcolor=#C0C0C0 align="center"><b> Ingredience </b></td>
<td bgcolor=#C0C0C0 align="center"><b> Postup </b></td>

<td bgcolor=#C0C0C0 align="center"><b> Náhled </b></td>
<td bgcolor=#C0C0C0 align="center"><b> Editovat </b></td>
<td bgcolor=#C0C0C0 align="center"><b> Smazat </b></td>
</tr>
<?
$i = 0; // pomocná promìnná
// pro každý záznam v databázi se opakuje smyèka, ve které
// postupnì zobrazíme všechny uživatele
while ($row = mysql_fetch_row($sql))
{
// pokud je èíslo liché, vložíme do promìnné bgcolor
// šedou barvu. Jinak bude promìnná prázdná
if ($i%2==0) $bgcolor=''; else $bgcolor=" bgcolor=#C0C0C0";
?>
<tr<? echo $bgcolor; ?>>
<td<? echo $bgcolor; ?>> <b><? echo $row[1];?></b></td>
<td<? echo $bgcolor; ?> align="center"> <? echo $row[2];?></td>
<td<? echo $bgcolor; ?> align="center"> <? echo $row[3];?></td>
<td<? echo $bgcolor; ?> align="center"> <? echo $row[5];?></td>
</td>
<td<? echo $bgcolor; ?> align="center">
<A HREF="nahled.php?id=<? echo $row[0]; ?>"
TARGET="_blank">Náhled</A> </td>
<td<? echo $bgcolor; ?> align="center">
<A HREF="korektura.php?id=<? echo $row[0]; ?>">Editovat</A> </td>
<form method="get" action="korektura.php">
<input type="hidden" name="did" value="<? echo $row[0]; ?>">
<td<? echo $bgcolor; ?> align="center">
<input type="submit" value="Smazat"
onclick="return confirm('Opravdu chceš uživatele smazat ?')"> </td>
</form>
</tr>
<?
// zvýšíme promìnnou i o 1.
$i++;
}
// uvolníme výsledek
mysql_free_result($sql);
?>
</table>
<?
}
// pokud není nikdo v databázi - nemožné, ale co kdyby...
else
{
?>
<h3><font color="#FF0000"><b>Nenalezen žádný záznam !!!</b></font></h3>
<?
}
}

// pokud byl odelsán formuláø
elseif ($send && $id)
{
// vytvoøíme unixový èas
// $datum = MkTime(0,0,0,$mesic,$den,$rok);
// updatujeme údaje z formuláøe
$sql = mysql_query("UPDATE recepty SET
nazev = '$nazev', datum = '$datum2',
ingredience = '$ingredience', postup = '$postup',
poznamka = '$poznamka'
WHERE id = '$id'");

echo "<H3>Upraveno</H3>\n";
// ukonèíme skript
foot();
exit;
}

// zobrazujeme formuláø pro editaci èlánku
else
{
// selectuje se èlánek s konkrétním id
$sql2 = mysql_query("SELECT * FROM recepty WHERE id = '$id'");
$data = mysql_fetch_row($sql2);

?>

<H3 ALIGN="CENTER">Úprava receptu</H3>
<FORM METHOD="POST" ACTION="korektura.php">
<INPUT TYPE="HIDDEN" NAME="send" VALUE="true">
<TABLE BORDER="1" CELLSPACING="0" CELLPADDING="4" ALIGN="CENTER">
<TR>
<TD><B>Název receptu:</B></TD>
<TD><INPUT TYPE="TEXT" NAME="nazev" SIZE="58" MAXLENGHT="250" VALUE="<? echo $data[1]; ?>"></TD>
</TR>
<TR>
<TD><B>Datum:</B></TD>
<TD><INPUT TYPE="TEXT" NAME="datum2" VALUE="<? echo $data[2]; ?>" " SIZE="58" MAXLENGHT="250"></TD>
</TR>
<TR>
<TD><B>Ingredience:</B></TD>
<TD><TEXTAREA TYPE="TEXT" NAME="ingredience" COLS="50" ROWS="5" ><? echo $data[3]; ?></TEXTAREA></TD>
</TR>
<TR>
<TD VALIGN="TOP"><B>Postup pøípravy:</B></TD>

<TD><TEXTAREA TYPE="TEXT" TEXTAREA NAME="postup" COLS="50" ROWS="20" ><? echo $data[4]; ?></TEXTAREA></TD>
</TR>
<TR>
<TD VALIGN="TOP"><B>Poznámka:</B></TD>
<TD><TEXTAREA TYPE="TEXT" TEXTAREA NAME="poznamka" COLS="50" ROWS="4" ><? echo $data[5]; ?></TEXTAREA></TD>
</TR>
<TR>
<TD ALIGN="CENTER" COLSPAN="2"><INPUT TYPE="SUBMIT" VALUE="ODESLAT"></TD>
</TR>
</TABLE>
</FORM>
Yuhů
Profil
Podle mě bude chyba v tomhle (řádek 122):

$sql2 = mysql_query("SELECT * FROM recepty WHERE id = '$id'");

co vypíše

echo("SELECT * FROM recepty WHERE id = '$id'");

??

asi bych zkusil smazat ty apostrofy kolem $id

Ale nejsem si jistý. Jestli můžu poprosit, tak příště doporučuji kód před odesláním promazat od věcí, které jsou tam zbytečné. Tady mi trvalo deset minut, než jsem se zorientoval.
Budul
Profil *
Přátelé mám problém: sql příkaz "select T001003LOGINCOUN from t001003 where OID = $pom"

mi vypisuje toto: Resource id #7

proměnná $pom obsahuje celé číslo, které jsem již vytáhl z jiné tabulky (je to cizí klíč) a OID je primární klíč tabulky t001003...

Jestli najdete chybu, budu vděčen za upozornění. Díky
Hugo
Profil
To co ti to vzpisuje je reference. Abyses dostal k vysledku dotazu musis pouzit napr. funkci MySQL_Fetch_Array()

http://cz.php.net/manual/cs/function.mysql-fetch-array.php
llook
Profil
Budul: Založ si nové téma.

Weeren: Je možný jednak používat apostrofy místo uvozovek (pak se nezpracovávají proměnné) a nebo string (=znak dolaru) "slashovat", tedy psát \$:
mysql_query("SELECT * FROM recepty WHERE id = '\$id';");
A SQL dotaz má končit středníkem (i když mysql to bez něj myslím také vezme).
Toto téma je uzamčeno. Odpověď nelze zaslat.

0