Autor Zpráva
Ben
Profil *
Ahoj,
řeším problém ukládání chybových hlášek do pole a jeho následné vypsání cyklem. A nedaří se mi to.
Mám toto:
<?php  
  //zpracovani z generovaneho formu
  foreach($_POST["id"] as $key => $id){
    //aktualizace polozek z formu
    if($_POST["smazat"][$key] !== "1"){
      $i = 0;
      $chyba_update = array();
      if(mysql_query("UPDATE foto 
                 SET popis='".$_POST["popis"][$key]."'
                 WHERE id='".$id."'")){
        $chyba_update = false;
      }
      else{
        //zde je zakomentovany puvodni kod, ktery kdyz odkomentuju, tak to funguje
        //echo"<p class=\"error\">Položku s id: ".$id." <strong>se nepodařilo</strong> aktualizovat.</p>";
        //echo"<form><input type=\"button\" value=\"Zpět\" onclick=\"history.back()\"></form>";
        //a tady mi to neuklada do pole
        $chyba_update = $id[$i];
      }
      $i = $i+1;
    }
  }
  
  //a tady je zpracovani chybove hlasky, kde mi to zpracovava vzdy jen cast else, i  kdyz vyvolam chybu
    if(is_array($chyba_update)){
    foreach($chyba_update as $key => $i){
      echo"<p class=\"error\">Položku s id: ".$chyba_update[$key]." <strong>se nepodařilo</strong> v MySQL aktualizovat.</p>";
    }
    echo"<form><input type=\"button\" value=\"Zpět\" onclick=\"history.back()\"></form>";
  }
  else{
    echo"Všechny položky byly úspěšně aktualizovány<br>";
  }
    
?>    

Poradíte mi prosím, kde dělám chybu?
Stano
Profil
Ben:
$chyba_update[] = $id[$i];
Ben
Profil *
Děkuji za usměrnění. Nakonec takto:

  foreach($_POST["id"] as $key => $id){
    //aktualizace polozek
    if($_POST["smazat"][$key] !== "1"){
      if(mysql_query("UPDATE foto 
                      SET popis='".$_POST["popis"][$key]."'
                      WHERE id='".$id."'")){
        $chyba_update[] = "";
      }
      else{
        //echo"<p class=\"error\">Položku s id: ".$id." <strong>se nepodařilo</strong> aktualizovat.</p>";
        //echo"<form><input type=\"button\" value=\"Zpět\" onclick=\"history.back()\"></form>";
        $chyba_update[] = $id;
      }
    }
  }
  if(!in_array("", $chyba_update)){
    foreach($chyba_update as $key => $i){
      echo"<p class=\"error\">Položku s id: ".$chyba_update[$key]." <strong>se nepodařilo</strong> v MySQL aktualizovat.</p>";
      }
    echo"<form><input type=\"button\" value=\"Zpět\" onclick=\"history.back()\"></form>";
  }    

Stano
Profil
Ben:
máš to trocha dopletené
použitie foreach(){}
$a["pes"] = "Dunčo";
$a["kon"] = "Hatatitla";
$a["macka"] = "Mica";

foreach($a as $zviera => $meno){
  echo "Náš $zviera sa volá $meno;
  }
//dostaneš
//Náš pes sa volá Dunčo;  
//Náš kon sa volá Hatatitla;  
//Náš macka sa volá Mica;

Hádam s touto pomocou si opravíš tie foreach()

a potom ešte:
$chyba_update[] = ""; //by som stade vyhodil
if(!in_array("", $chyba_update)){ //by som stade potom vyhodil
Tori
Profil
Ben:
$chyba_update = array(); // výchozí hodnota = bez chyb
foreach($_POST["id"] as $key => $id){
  //...
    if (!mysql_query("UPDATE foto 
                    SET popis='".$_POST["popis"][$key]."'
                    WHERE id='".$id."'"))  {
      $chyba_update[] = $id; // keďže podle [#3] chcete reagovat jen na chyby.
//...
if(!empty($chyba_update))  { //..atd.

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:

0