Autor Zpráva
PetrQ
Profil
Dobrý večer,
prosím o radu.
Poprvé používám AJAX - (plugin malsup jquery form) a nejsem schopen udělat kontrolu, zda se data opravdu uložila do db mysql.
V php používám $chyba = mysql_error .... a podmínky if pro další vykonání skriptu při vrácení chyby z mysql.
Při použití AJAXU bych rád udělal něco podobného, ale netuším, kde a co mám hledat.
Skript nyní vypíše kladnou hlášku při vykonání úlohy, ale neřeší, zda byl opravdu zápis v db změněn.
Děkuji Petr

část kódu
			 if (isset($_POST['psa'])) 
			 {
			 $id_pes=$_POST['id_pes'];
			 $jmenopsa=$_POST['jmenopsa'];
			  mysql_query("UPDATE ps SET jmenopsa='$jmenopsa'  WHERE id_pes='$id_pes'", $GLOBALS["link"]);
			  $chyba_up3 = mysql_error($GLOBALS["link"]);
  if ($chyba_up3==='')
       echo ("<font color='#FF0000'>Údaje uživatele byly změněny a vloženy do DB.</font><br />\n");
   else {  
   echo ("<font color='#FF0000'>Problém s úpravou údajů uživatele v DB.</font><br />\n Zkontrolujte, prosím, zda se akce provedla.<br />\n");
   } 
            }

echo"<script type='text/javascript'>

 
        // wait for the DOM to be loaded 
        $(document).ready(function() { 
            // bind 'myForm' and provide a simple callback function 
            $('#modal').ajaxForm(function() {
			 
                alert('Informace byly změněny!');
			
            }); 	
        }); 	
    </script>"; 
Aichi
Profil
Tyhle AJAXy všechny jen otravují.

Teď vážně. Máš několik možností. Buď budeš z PHP vracet HTTP status kód, kdy 200 bude, že se to uložilo a nějaký 50x, že se neuložilo, nebo budeš vracet nějaký data (např. JSON ve tvaru {status: true/false}.

Pak se musíš podívat, zda např. ta metoda ajaxForm do té tvé funkce nedokáže dostat výsledek, nebo ten status kód a dle toho se zařídit.
Kcko
Profil
a ta metoda ajaxForm nema nejaky callback ze bys jim prostrcil data, tj to co ti vrati PHP? jquery funkce na praci s ajaxem to takhle maji bezne.
PetrQ
Profil
Díky za nasměrování, zkusím se tím prokousat.

Kcko:

Odkaz
Nějaké callbacky tam jsou, ale podařilo se mi z toho scriptu vydolovat jenom callback o tom, že formulář byl odeslán. Ale nejsem schopen tam nacpat zprávu o selhání uložení do db.
Ale asi je to jen moje neschopnost pochopit Ajax :o))
Bohužel dokumentace skriptu je dost stručná.
Kcko
Profil
Ja ta vidim callback metodu SUCCESS a kdyz se podivas sem http://jquery.malsup.com/form/#validation

tak z toho prikladu Te to nenapadne? :)
PetrQ
Profil
Kcko:
Díky :o)) napadlo.
Prokousal jsem se callbacky a funguje. Nemůžu ale pořád přijít na to, jak mysql_error použít.
Zkoušel jsem něco s JSON, jak psal Aichi, ale neběží ....
Ještě další nakopnutí? :o) Díky Petr
Kcko
Profil
Napis mi na ICQ, odladime to behem 5 min, takhle to bude na dyl ..a rad bych videl ukazku

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

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

0