Autor Zpráva
ROFL
Profil *
Ahoj, nefunguje mi ukládání do databáze. Mam dva sloupečky v tabulce : Veci , kupujici. Jako kupujicí je dán input, do kterého by se mělo vloži jméno a následně napsat obsazeno. Přesně toto nefunguje, vložím jméno, odešlu, ale nic se neuloží, tudíž nic se nevypíše. Tady je kod.

if ($HTTP_POST_VARS["odesli"]==true) {
  $vysledek=mysql_query("select * from veci order by vec asc");    
  while ($zaznam=MySQL_Fetch_Array($vysledek)) 
  {
    $vec=$zaznam["vec"];
	if (isset($HTTP_POST_VARS[$vec]) && $HTTP_POST_VARS[$vec]!="")
	{
	$vysledek2=mysql_query("update veci set kupujici='".$HTTP_POST_VARS[$vec]."' where vec='".$vec."'")
	
	;}
  }




}

echo "<h2>Dary</h2>

<form method='post' action='index.php'> ";
 
  $vysledek=mysql_query("select * from veci order by vec asc");    
  echo "<table class=tab>";
  while ($zaznam=MySQL_Fetch_Array($vysledek)) 
  {
    echo "<tr><td>";
    echo $zaznam['vec'];
    echo "</td><td>";
    if ($zaznam["kupujici"]=="") {
      echo "<input name='".$zaznam["vec"]."'>";
    } else {
      echo "<font color=red>obsazeno</font> ";
    }
    echo "</td></tr>";
  }

  echo "</table>";
echo "<input type='Submit' value='Odeslat' name='odesli'> 
</form>


Co zde mám špatně?
Akacko
Profil
ROFL
dej pod ten update dotaz toto
echo mysql_error();
a řekni co to vypisuje. Popřipadě řádek
$vysledek2=mysql_query("update veci set kupujici='".$HTTP_POST_VARS[$vec]."' where vec='".$vec."'")
změň na
echo "update veci set kupujici='".$HTTP_POST_VARS[$vec]."' where vec='".$vec."'";
a zjisti, zda ty proměnné obsahují data,
Mastodont
Profil
ROFL
Co máš prosím tě za verzi PHP, že používáš ještě HTTP_POST_VARS??
peta
Profil
ROFL
prvni 3 radky dej tyto:
@ini_set('error_reporting', E_ALL);
@ini_set("display_errors", "on");
error_reporting(E_ALL);

pak tam pridej
function fce_sq($query,$text='') {$res = mysql_query($query) or die("<hr>MySQL Err".$text.": $query<hr>".mysql_error()); return $res;} //debug mode

toto
$vysledek=mysql_query("select * from veci order by vec asc");
prepis na
$vysledek=fce_sq("select * from veci order by vec asc");
a podobne ostatni SQL dotazy

spust
a rekni, co to vypisuje za chyby?

vysvetleni:
- error_reporting - vypisuje PHP chyby
- mysql_error - vypisuje MySQL chyby
- die - zastavi program
- die("<hr>$query<hr>") - provede neco jako echo $query; , vypise SQL dotaz, pro tvou kontrolu
cz.php.net/error_reporting
cz.php.net/mysql_error
cz.php.net/die
r0me0
Profil
a místo $HTTP_POST_VARS[$vec] používej jen $_POST[$vec]

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: