[RESOLU] Requête UPDATE aucun résultat

WeezyF
Invité n'ayant pas de compte PHPfrance

07 juil. 2013, 06:37

Bonjour,
Je poste dans le forum car je bloque sur quelque chose de stupide où je ne trouve pas l'erreur.
Dans la page php que je suis en train de créer on peut modifier les champs d'une table dans une BDD MySQL hébergée sous free. Rien de bien extraordinaire.
Le principe est le suivant, une page qui afficher les données de la table dans un tableau html avec un bouton "modifier" pour chaque ligne si jamais on veut modifier un enregistrement de la table. Bref. Quand on clique sur le bouton, l'ID de la ligne à modifier en envoyer en GET.
Quand on appelle la page de modification, je récupère le paramètre URL en GET et je remplis préalablement les champs du formulaire avec les données dans la table.
J'ai déjà procédé de cette manière pour modifier d'autres tables et ça marche très bien.
Donc j'ai refait un copier/coller du code en adaptant les requêtes et tout ce qu'il fallait modifier.
Seulement cette fois-ci ça ne marche pas
Les champs sont bien remplis avec les données de la table donc le paramètre GET est bien récupéré. Mais quand on modifie un champs et qu'on clique sur le bouton, les données ne sont pas enregistrées dans la BDD et le header location ne fonctionne pas
J'en déduis donc que c'est ma requête UPDATE qui ne passe pas alors qu'elle est toute bête...
Vous trouverez sûrement très rapidement où ça bloque car ça ne doit pas être un gros problème...
Je vous poste le code de la page qui modifie:
<?php session_start(); 
if (!isset($_SESSION['email'])) {
   header ('Location: index.php');
   exit(); 
}
ini_set('display_errors', true);
ini_set('display_startup_errors', true);
error_reporting(E_ALL);
 
    $id_tournee = (isset($_GET['tournee'])) ? (int)$_GET['tournee'] : 0;
 
    $base = mysql_connect ('sql.free.fr', '*******', '******'); 
    mysql_select_db ('*******', $base);
    $sql = 'SELECT Numero, Nb_pt_liv, Pickup, Nb_km, Chauffeur, Date_liv FROM tournee_tnt WHERE ID_TNT="'.$id_tournee.'"';
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    $data = mysql_fetch_array($req);           
    $numero = htmlentities($data['Numero'], ENT_QUOTES, 'UTF-8');
    $nbp = htmlentities($data['Nb_pt_liv'], ENT_QUOTES, 'UTF-8');
    $nbr = htmlentities($data['Pickup'], ENT_QUOTES, 'UTF-8');
    $nbk = htmlentities($data['Nb_km'], ENT_QUOTES, 'UTF-8');
    $chauffeur = htmlentities($data['Chauffeur'], ENT_QUOTES, 'UTF-8');
    $date_liv = htmlentities($data['Date_liv'], ENT_QUOTES, 'UTF-8');
echo "je suis au début ";
if (isset($_POST['modifier']) && $_POST['modifier'] == 'Modifier') {       
echo "je suis dans le modifier";       
    $new_numero = mysql_real_escape_string($_POST['numero']);
    $new_nbp = mysql_real_escape_string($_POST['nbp']);
    $new_nbr = mysql_real_escape_string($_POST['nbr']);
    $new_nbk = mysql_real_escape_string($_POST['nbk']);
    $new_chauffeur = mysql_real_escape_string($_POST['chauffeur']);
    $new_date_liv = mysql_real_escape_string($_POST['date_liv']);
     
echo "je suis à la fin de modifier";   
if (isset($_POST['numero']) AND $_POST['numero'] !== "")
    { 
    echo "je suis dans numero";
     if (isset($_POST['nbp']) AND $_POST['nbp'] !== "")
       {
       echo "je suis dans nbp";
         if (isset($_POST['nbr']) AND $_POST['nbr'] !== "")
            {
            echo "je suis dans nbr";
             if (isset($_POST['nbk']) AND $_POST['nbk'] !== "")
                {
                echo "je suis dans nbk";
                 if (isset($_POST['chauffeur']) AND $_POST['chauffeur'] !== "")
                    {
                    echo "je suis dans chauffeur";
                     if (isset($_POST['date_liv']) AND $_POST['date_liv'] !== "")
                        {
                            echo "je suis dans date_liv ";
                            $base = mysql_connect ('sql.free.fr', '*******', '******'); 
                            mysql_select_db ('********', $base);
                            $sql ='UPDATE tournee_tnt SET
                            Numero ="'.$new_numero.'",
                            Nb_pt_liv ="'.$new_nbp.'",
                            Pickup ="'.$new_nbr.'",
                            Nb_km ="'.$new_nbk.'",
                            Chauffeur ="'.$new_chauffeur.'",
                            Date_liv ="'.$new_date_liv.'",
                            WHERE ID_TNT ="'.$id_tournee.'"';
                            $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());             
                        }
                    } 
                }
            }
        }
header('Location: tnt.php');exit();
    }
}
?>
<!DOCTYPE html>
<html lang="fr">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
        <title>Gestion des feuilles de route</title>
        <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css" />
        <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
        <script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script>
    </head>
    <body>
        <div data-role="page">
            <div data-role="header">
                <a href="tnt.php" data-icon="back">Retour</a>
                <h1>Gestion des feuilles de route</h1>
            </div><!-- /Entete de la page -->
            <div data-role="content">
                <form action="modifier_tnt.php" method="post" id="modif_tnt">
                    <ul data-role="listview">
                        <li data-role="list-divider">Numéro de la tournée</li>
                            <li><input type="text" name="numero" id="numero" value="<?php echo $numero; ?>" /></li>
                        <li data-role="list-divider">Nombre de points</li>
                            <li><input type="text" name="nbp" id="nbp" value="<?php echo $nbp; ?>" /></li> 
                        <li data-role="list-divider">Nombre de ramasses</li>
                            <li><input type="text" name="nbr" id="nbr" value="<?php echo $nbr; ?>" /></li> 
                        <li data-role="list-divider">Nombre de kilomètres</li>
                            <li><input type="text" name="nbk" id="nbk" value="<?php echo $nbk; ?>" /></li>
                        <li data-role="list-divider">Chauffeur</li>
                            <li><input type="text" name="chauffeur" id="chauffeur" value="<?php echo $chauffeur; ?>" /></li>                           
                        <li data-role="list-divider">Date</li>
                            <li><input type="text" name="date_liv" id="date_liv" value="<?php echo $date_liv; ?>" /></li> 
                        <p><label for="modifier"></label><input type="submit" name="modifier" id="modifier" value="Modifier" data-theme="b" /></p>                       
                    </ul>
                </form>
            </div>
            <div data-role="footer">
                <h4>&copy; Antony 2013</h4>
            </div><!-- /Pied de page -->
        </div>
        <?php
            if (isset($erreur)) echo '<br /><br />',$erreur; 
        ?>
    </body>
</html>
J'ai placé des "écho" un peu partout entre mes "if" et en fait je ne rentre même pas dans le "if" qui détermine si j'ai bien appuyé sur le bouton modifier.

Donc j'ai regardé la syntaxe de mes noms et l'orthographe mais tout est identique. Donc je ne comprends pas pourquoi je ne rentre pas dans ce "if".

Merci beaucoup pour votre aide

Eléphant du PHP | 79 Messages

07 juil. 2013, 14:55

Bonjour l'ami,

Je te conseil fortement que passé à PDO pour tes base de données. Les fonctions mysql venant à être decrepited (inactive). Tu trouveras de nombreuses informations sur cette classe sur le site préférer de tous les développeur en php : PHP MANUAL http://php.net/manual/fr/book.pdo.php.

Je vois aussi que tu utilises une cascade de if, ce qui n'ai pas très lisible, et pourra te provoquer des erreurs. Je te conseil également d'utiliser l'outil TRY / CATCH. Va voir ce topic il explique parfaitement l'idée : php-debutant/dans-comment-faire-t268532.html.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

07 juil. 2013, 16:41

salut,

lignes 52 & 53 inutile la connexion au sgbd est déja faite lignes 12 & 13

si le "header" ne renvoie pas quelque part c'est qu'il y a quelque chose d'affiché, par exemple une erreur ou tout simplement tes messages de débug.

il pourrait être intéressant d'utiliser des else afin de savoir qui manque a l'appel.

pour ta première requete sql, le délimiteur de chaine de caractère en SQL c'est les ' et non les " ;)
de plus un entier n'étant pas une chaine de caractère (idem pour un flottant) tu n'a pas besoin de '.
donc $sql = 'SELECT Numero, Nb_pt_liv, Pickup, Nb_km, Chauffeur, Date_liv FROM tournee_tnt WHERE ID_TNT='.$id_tournee;

Ensuite ligne 26 à 31 à déplacer dans le dernier if car avant tu ne sais pas si les infos sont toutes la ;)

pour la requête update même chose les délimiteurs de chaines en sql c'est l'apostrophe, tu peux l'échapper avec un \ devant pour avoir une chaine de caractère (en php) correcte).

par exemple
echo 'j\'aime la plage avec une ch\'tite bi*** ';
ensuite quand tu regarde ta requête tu vois que tu utilise 7 valeurs alors que tu n'en vérifie que 6.

au final tu n'a pas de paramètre 'tournee' dans l'url lorsque tu valide le formulaire, id_tournee vaut donc zéro (grâce à la ligne 10) et donc tu essai de faire un update sur la ligne qui a id_tnt, = zéro (quelque la valeur qui a pu être passée pour l'affichage du formulaire).

La solution est donc d'ajouter un champ de formulaire caché (type hidden) contenant la valeur de id_tnt courant (donc la valeur de l'url) et d'utiliser la valeur du champ caché pour la restriction de la requête ;).


@orenx22 : Merci de tes participations mais :
- l'extension mysql n'est pas decrepited mais "deprecated", en français dépréciée et pas inactive mais prévue à la suppression.
- Une extension est prévue pour remplacer mysql c'est l'extension mysqli
- PDO n'est pas ultime et totalement inutile dans un développement entièrement procédural, ou donc la poo n'a pas sa place (le mélange des genres c'est source d'emmerde et d’incompréhension).
- idem pour le try catch qui ne servira pas éviter un if car un catch ne sert à rien sur une notice indiquant l’inexistence d'un index dans GET ou POST (qui d'ailleurs remplacer par null et mettra le brin ensuite si la valeur attendu n'est pas celle la ! et re idem try / catch c'est poo rien à faire la.

@+
Il en faut peu pour être heureux ......

WeezyF
Invité n'ayant pas de compte PHPfrance

15 juil. 2013, 14:40

Bonjour,
je suis désolé de ne répondre que maintenant mais j'étais en vacance pendant une semaine, donc je ne pouvais donner suite à mon post.

J'ai bien pris note de toutes les remarques dont tu m'as fait part et je t'en remercie. J'ai modifié mon code source pour que le code final corresponde à ce que tu m'a suggéré de modifier.
Seulement le problème persiste toujours. J'ai sûrement dû faire encore des erreurs dans le code :/
<?php session_start(); 
if (!isset($_SESSION['email'])) {
   header ('Location: index.php');
   exit(); 
}

ini_set('display_errors', true);
ini_set('display_startup_errors', true);
error_reporting(E_ALL);
 
    $id_tournee = (isset($_GET['tournee'])) ? (int)$_GET['tournee'] : 0;
 
	$base = mysql_connect ('sql.free.fr', '********', '*****'); 
	mysql_select_db ('*************',$base);
    $sql = 'SELECT Numero, Nb_pt_liv, Pickup, Nb_km, Chauffeur, Date_liv FROM tournee_tnt WHERE ID_TNT='.$id_tournee;
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    $data = mysql_fetch_array($req);
	
    $numero = htmlentities($data['Numero'], ENT_QUOTES, 'UTF-8');
    $nbp = htmlentities($data['Nb_pt_liv'], ENT_QUOTES, 'UTF-8');
    $nbr = htmlentities($data['Pickup'], ENT_QUOTES, 'UTF-8');
    $nbk = htmlentities($data['Nb_km'], ENT_QUOTES, 'UTF-8');
    $chauffeur = htmlentities($data['Chauffeur'], ENT_QUOTES, 'UTF-8');
    $date_liv = htmlentities($data['Date_liv'], ENT_QUOTES, 'UTF-8');
	$id_tnt = $id_tournee;
	
echo "je suis au début ";
if (isset($_POST['modifier']) && $_POST['modifier'] == 'Modifier') { 
echo "je suis dans le modifier";
if (isset($_POST['id_tnt']) && $_POST['id_tnt'] !== "")
    {  
	if (isset($_POST['numero']) && $_POST['numero'] !== "")
		{ 
		echo "je suis dans numero";
		 if (isset($_POST['nbp']) && $_POST['nbp'] !== "")
		   {
		   echo "je suis dans nbp";
			 if (isset($_POST['nbr']) && $_POST['nbr'] !== "")
				{
				echo "je suis dans nbr";
				 if (isset($_POST['nbk']) && $_POST['nbk'] !== "")
					{
					echo "je suis dans nbk";
					 if (isset($_POST['chauffeur']) && $_POST['chauffeur'] !== "")
						{
						echo "je suis dans chauffeur";
						 if (isset($_POST['date_liv']) && $_POST['date_liv'] !== "")
							{
								$new_numero = mysql_real_escape_string($_POST['numero']);
								$new_nbp = mysql_real_escape_string($_POST['nbp']);
								$new_nbr = mysql_real_escape_string($_POST['nbr']);
								$new_nbk = mysql_real_escape_string($_POST['nbk']);
								$new_chauffeur = mysql_real_escape_string($_POST['chauffeur']);
								$new_date_liv = mysql_real_escape_string($_POST['date_liv']);
								$new_id_tnt = mysql_real_escape_string($_POST['id_tnt']);
								
								echo "je suis dans date_liv ";
								$base = mysql_connect ('sql.free.fr', '********', '*****'); 
								mysql_select_db ('*************',$base);
								$sql ='UPDATE tournee_tnt SET
								ID_TNT ='.$new_id_tnt.', 
								Numero ='.$new_numero.',
								Nb_pt_liv ='.$new_nbp.',
								Pickup ='.$new_nbr.',
								Nb_km ='.$new_nbk.',
								Chauffeur ='.$new_chauffeur.',
								Date_liv ='.$new_date_liv.',
								WHERE ID_TNT ='.$id_tournee;
								$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());             
							}
						} 
					}
				}
			}
		}
    }
	header('Location: tnt.php');exit();
}
?>
<!DOCTYPE html>
<html lang="fr">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
        <title>Gestion des feuilles de route</title>
        <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css" />
        <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
        <script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script>
    </head>
    <body>
        <div data-role="page">
            <div data-role="header">
                <a href="tnt.php" data-icon="back">Retour</a>
                <h1>Gestion des feuilles de route</h1>
            </div><!-- /Entete de la page -->
            <div data-role="content">
                <form action="modifier_tnt.php?tournee=<?php echo $id_tournee;?>" method="post" id="modif_tnt">
                    <ul data-role="listview">
                        <li data-role="list-divider">Numéro de la tournée</li>
                            <li><input type="text" name="numero" id="numero" value="<?php echo $numero; ?>" /></li>
                        <li data-role="list-divider">Nombre de points</li>
                            <li><input type="text" name="nbp" id="nbp" value="<?php echo $nbp; ?>" /></li> 
                        <li data-role="list-divider">Nombre de ramasses</li>
                            <li><input type="text" name="nbr" id="nbr" value="<?php echo $nbr; ?>" /></li> 
                        <li data-role="list-divider">Nombre de kilomètres</li>
                            <li><input type="text" name="nbk" id="nbk" value="<?php echo $nbk; ?>" /></li>
                        <li data-role="list-divider">Chauffeur</li>
                            <li><input type="text" name="chauffeur" id="chauffeur" value="<?php echo $chauffeur; ?>" /></li>                           
                        <li data-role="list-divider">Date</li>
                            <li><input type="text" name="date_liv" id="date_liv" value="<?php echo $date_liv; ?>" /></li>
                            <li><input type="hidden" name="id_tnt" id="id_tnt" value="<?php echo $id_tnt; ?>" /></li> 							
                        <p><label for="modifier"></label><input type="submit" name="modifier" id="modifier" value="Modifier" data-theme="b" /></p>                       
                    </ul>
                </form>
            </div>
            <div data-role="footer">
                <h4>&copy; Antony 2013</h4>
            </div><!-- /Pied de page -->
        </div>
        <?php
            if (isset($erreur)) echo '<br /><br />',$erreur; 
        ?>
    </body>
</html>
Je te remercie pour ton aide en tout cas.

PS: je ne peux pas passer sous PDO car le serveur de free ne supporte pas les dernières versions de PHP.

Mammouth du PHP | 2278 Messages

16 juil. 2013, 08:38

Essaye:
$sql ='UPDATE tournee_tnt SET
                            Numero ="'.$new_numero.'",
                            Nb_pt_liv ="'.$new_nbp.'",
                            Pickup ="'.$new_nbr.'",
                            Nb_km ="'.$new_nbk.'",
                            Chauffeur ="'.$new_chauffeur.'",
                            Date_liv ="'.$new_date_liv.'",
                            WHERE ID_TNT ="'.$id_tournee.'"'; 
print "$sql"; die();
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

WeezyF
Invité n'ayant pas de compte PHPfrance

16 juil. 2013, 09:56

Bonjour,

je viens d'essayer. Ça ne change rien et le "echo $sql" n'affiche rien. Le seul "echo" qui s'afficher est celui qui contient "je suis au début", qui est placé avant les "if" imbriqués. :?

Mammouth du PHP | 2278 Messages

16 juil. 2013, 17:59

Après:
echo "je suis au début ";
ajoute
print_r($_POST); die();
et on y verra plus clair.
(méthodes classique de débogage qui devraient être utilisées systématiquement.)
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

WeezyF
Invité n'ayant pas de compte PHPfrance

16 juil. 2013, 19:29

Quand je rajoute ce que tu m'as dit ma page reste blanche et uniquement "Array ( )" apparait.

Mammouth du PHP | 2278 Messages

16 juil. 2013, 21:06

Ca signifie que la page appelante est mal conçue.
Il faudrait voir le code de cette page pour avancer.
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

WeezyF
Invité n'ayant pas de compte PHPfrance

17 juil. 2013, 02:19

Voici le code de la page qui gère le formulaire et le traitement.
<?php session_start(); 
if (!isset($_SESSION['email'])) {
   header ('Location: index.php');
   exit(); 
}
print_r($_POST);
ini_set('display_errors', true);
ini_set('display_startup_errors', true);
error_reporting(E_ALL);
 
    $id_tournee = (isset($_GET['tournee'])) ? (int)$_GET['tournee'] : 0;
 
	$base = mysql_connect ('sql.free.fr', '*******', '*******'); 
	mysql_select_db ('*******',$base);
    $sql = 'SELECT Numero, Nb_pt_liv, Pickup, Nb_km, Chauffeur, Date_liv FROM tournee_tnt WHERE ID_TNT='.$id_tournee;
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    $data = mysql_fetch_array($req);
	
    $numero = htmlentities($data['Numero'], ENT_QUOTES, 'UTF-8');
    $nbp = htmlentities($data['Nb_pt_liv'], ENT_QUOTES, 'UTF-8');
    $nbr = htmlentities($data['Pickup'], ENT_QUOTES, 'UTF-8');
    $nbk = htmlentities($data['Nb_km'], ENT_QUOTES, 'UTF-8');
    $chauffeur = htmlentities($data['Chauffeur'], ENT_QUOTES, 'UTF-8');
    $date_liv = htmlentities($data['Date_liv'], ENT_QUOTES, 'UTF-8');
	$id_tnt = $id_tournee;
	
echo "je suis au début ";var_dump($_POST);
if (!empty($_POST['modifier'])) { 
echo "je suis dans le modifier";
if (!empty($_POST['id_tnt']))
    {  
	if (!empty($_POST['numero']))
		{ 
		echo "je suis dans numero";
		 if (!empty($_POST['nbp']))
		   {
		   echo "je suis dans nbp";
			 if (!empty($_POST['nbr']))
				{
				echo "je suis dans nbr";
				 if (!empty($_POST['nbk']))
					{
					echo "je suis dans nbk";
					 if (!empty($_POST['chauffeur']))
						{
						echo "je suis dans chauffeur";
						 if (!empty($_POST['date_liv']))
							{
								$new_numero = mysql_real_escape_string($_POST['numero']);
								$new_nbp = mysql_real_escape_string($_POST['nbp']);
								$new_nbr = mysql_real_escape_string($_POST['nbr']);
								$new_nbk = mysql_real_escape_string($_POST['nbk']);
								$new_chauffeur = mysql_real_escape_string($_POST['chauffeur']);
								$new_date_liv = mysql_real_escape_string($_POST['date_liv']);
								$new_id_tnt = mysql_real_escape_string($_POST['id_tnt']);
								
								echo "je suis dans date_liv ";
								$base = mysql_connect ('sql.free.fr', '*******', '*******'); 
								mysql_select_db ('***********',$base);
 $sql ='UPDATE tournee_tnt SET
                                        Numero ="'.$new_numero.'",
                                        Nb_pt_liv ="'.$new_nbp.'",
                                        Pickup ="'.$new_nbr.'",
                                        Nb_km ="'.$new_nbk.'",
                                        Chauffeur ="'.$new_chauffeur.'",
                                        Date_liv ="'.$new_date_liv.'",
                                        WHERE ID_TNT ="'.$id_tournee.'"';
 
echo $sql;
								
								$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());          
							}
						} 
					}
				}
			}
		}
    }
	header('Location: tnt.php');exit();
}
?>
<!DOCTYPE html>
<html lang="fr">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
        <title>Gestion des feuilles de route</title>
        <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css" />
        <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
        <script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script>
    </head>
    <body>
        <div data-role="page">
            <div data-role="header">
                <a href="tnt.php" data-icon="back">Retour</a>
                <h1>Gestion des feuilles de route</h1>
            </div><!-- /Entete de la page -->
            <div data-role="content">
                <form action="modifier_tnt.php?tournee=<?php echo $id_tournee;?>" method="post" id="modif_tnt">
                    <ul data-role="listview">
                        <li data-role="list-divider">Numéro de la tournée</li>
                            <li><input type="text" name="numero" id="numero" value="<?php echo $numero; ?>" /></li>
                        <li data-role="list-divider">Nombre de points</li>
                            <li><input type="text" name="nbp" id="nbp" value="<?php echo $nbp; ?>" /></li> 
                        <li data-role="list-divider">Nombre de ramasses</li>
                            <li><input type="text" name="nbr" id="nbr" value="<?php echo $nbr; ?>" /></li> 
                        <li data-role="list-divider">Nombre de kilomètres</li>
                            <li><input type="text" name="nbk" id="nbk" value="<?php echo $nbk; ?>" /></li>
                        <li data-role="list-divider">Chauffeur</li>
                            <li><input type="text" name="chauffeur" id="chauffeur" value="<?php echo $chauffeur; ?>" /></li>                           
                        <li data-role="list-divider">Date</li>
                            <li><input type="text" name="date_liv" id="date_liv" value="<?php echo $date_liv; ?>" /></li>
                            <li><input type="hidden" name="id_tnt" id="id_tnt" value="<?php echo $id_tnt; ?>" /></li> 							
                        <p><label for="modifier"></label><input type="submit" name="modifier" id="modifier" value="Modifier" data-theme="b" /></p> 						
                    </ul>
                </form>
            </div>
            <div data-role="footer">
                <h4>&copy; Antony 2013</h4>
            </div><!-- /Pied de page -->
        </div>
        <?php
            if (isset($erreur)) echo '<br /><br />',$erreur; 
        ?>
    </body>
</html>

WeezyF
Invité n'ayant pas de compte PHPfrance

19 juil. 2013, 14:03

En regardant dans la doc' de jQueryMobile j'ai remarqué qu'il y avait un traitement différent pour les formulaires. Il semblerait que la méthode post ne fonctionne pas avec le chargement en AJAX des pages. Il faut que je désactive l'ajax.
Pour cela j'ai rajouté data-ajax="false".

Cela me permet maintenant d'avoir une page avec tous les echo et les messages d'erreur affichés.
Voici ce que cela me renvoie maintenant que j'ai rajouté le petit bout de code:
je suis au début je suis dans le modifierje suis dans numeroje suis dans nbpje suis dans nbrje suis dans nbkje suis dans chauffeurje suis dans date_liv UPDATE tournee_tnt SET Numero ="155", Nb_pt_liv ="55", Pickup ="3", Nb_km ="500", Chauffeur =" ALDANA Antony", Date_liv ="2013-06-05", WHERE ID_TNT =1Erreur SQL !
UPDATE tournee_tnt SET Numero ="155", Nb_pt_liv ="55", Pickup ="3", Nb_km ="500", Chauffeur =" ALDANA Antony", Date_liv ="2013-06-05", WHERE ID_TNT =1
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE ID_TNT =1' at line 8

WeezyF
Invité n'ayant pas de compte PHPfrance

19 juil. 2013, 14:18

Bon et bien affaire résolu, il fallait juste que je supprime la virgule avant le WHERE pour que l'erreur parte.
Merci à tous pour votre aide et votre temps passé à m'aider !

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

19 juil. 2013, 16:47

Modération :
Puisque ta question est résolue, je l'indique en cliquant sur le bouton "Mettre le sujet en tant que Résolu" pour que les futures personnes qui voudront consulter ce sujet sachent qu'il contient une solution.

Tu peux réaliser cette opération toi-même en cliquant sur le bouton vert situé en haut de la page à côté du titre, si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)
Il en faut peu pour être heureux ......