IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Requête UPDATE aucun résultat [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 79
    Points : 62
    Points
    62
    Par défaut Requête UPDATE aucun résultat
    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:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
     
    <?php session_start();  
    if (!isset($_SESSION['email'])) { 
       header ('Location: index.php'); 
       exit();  
    }
    	$id_tournee = $_GET['tournee'];
     
    	$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');
     
    if (isset($_POST['modifier']) && $_POST['modifier'] == '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']);
     
    if (isset($_POST['numero']) AND $_POST['numero'] !== "")
        {  
         if (isset($_POST['nbp']) AND $_POST['nbp'] !== "") 
           {
             if (isset($_POST['nbr']) AND $_POST['nbr'] !== "")
                {    
                 if (isset($_POST['nbk']) AND $_POST['nbk'] !== "")
                    {
    				 if (isset($_POST['chauffeur']) AND $_POST['chauffeur'] !== "")
    					{	
    					 if (isset($_POST['date_liv']) AND $_POST['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; Aldana - Antony 2013</h4>
    			</div><!-- /Pied de page -->
    		</div>
    		<?php
    			if (isset($erreur)) echo '<br /><br />',$erreur;  
    		?>
    	</body>
    </html>
    Merci beaucoup pour votre aide

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    déjà tu devrais sécuriser le $id_tournee = $_GET['tournee']; ainsi $id_tournee = (isset($_GET['tournee'])) ? (int)$_GET['tournee'] : 0;.
    Ensuite, tu dois intercepter le cas où $id_tournee vaut 0.

    Tu n'as absolument aucune assurance d'avoir tes tableaux super-globaux rempli comme tu te l'imagine, c'est pour ça qu'il faut toujours s'assurer de l'existence des clés avec isset().

    Pour déboguer, pose des echo pour s'avoir par où ton code passe. Je parie que tu n'arrive pas jusqu'à l'UPDATE car dans ta cascade de if imbriqués, y'en a un qui renvoie false.

    EDIT :
    Pense aussi à afficher toutes les erreurs quand tu codes en rajoutant ceci au début du script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ini_set('display_errors', true);
    ini_set('display_startup_errors', true);
    error_reporting(E_ALL);
    Code à rajouter uniquement sur le serveur de développement et une fois que tout est bon, tu publies sur le serveur de production sans ce paramétrage.

  3. #3
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 79
    Points : 62
    Points
    62
    Par défaut
    Merci pour ta réponse, j'ai appliqué les modifications que tu m'as suggéré.

    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.

    Celui-ci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (isset($_POST['modifier']) && $_POST['modifier'] == '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".

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    J'ai repris ton code, complète les blancs et essaie avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    <?php
     
    session_start();
     
    if ( ! isset($_SESSION['email']))
    {
       header('Location: index.php');
       exit;
    }
     
    $id_tournee = isset($_GET['tournee']) ? (int)$_GET['tournee'] : 0;
     
    if ($id_tournee === 0)
    {
     
    }
     
    mysql_connect ('sql.free.fr', '**********', '*********');
    mysql_select_db ('*********');
     
    $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_assoc($req);
     
    // échappement des caractères à l'affichage
    $hsc  = function($p) { return htmlspecialchars($p, ENT_QUOTES, 'utf-8'); };
     
    if (isset($_POST['modifier']) && $_POST['modifier'] === 'Modifier')
    {
        $keys  = array('numero', 'nbp', 'nbr', 'nbk', 'chauffeur', 'date_liv');
        $error = false;
        foreach ($keys as $k) 
        {
            if (( ! isset($_POST[$k])) || ($_POST[$k] === ''))
            {
                $error = true;
                break;
            }
        }
     
        if ($error)
        {
     
        }
        else
        {
            $values = array();
            foreach ($keys as $k) 
            {
                $values[$k] = mysql_real_escape_string($_POST[$k]);
            }
     
            $sql =
    <<<SQL
    UPDATE tournee_tnt SET
        Numero    = '{$values['numero']}',
        Nb_pt_liv = '{$values['nbp']}',
        Pickup    = '{$values['nbr']}',
        Nb_km     = '{$values['nbk']}',
        Chauffeur = '{$values['chauffeur']}',
        Date_liv  = '{$values['date_liv']}',
    WHERE
        ID_TNT    = {$id_tournee}
    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" 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 $hsc($data['Numero']) ?>" /></li>
                        <li data-role="list-divider">Nombre de points</li>
                        <li><input type="text" name="nbp" id="nbp" value="<?php echo $hsc($data['Nb_pt_liv']) ?>" /></li>
                        <li data-role="list-divider">Nombre de ramasses</li>
                        <li><input type="text" name="nbr" id="nbr" value="<?php echo $hsc($data['Pickup']) ?>" /></li>
                        <li data-role="list-divider">Nombre de kilomètres</li>
                        <li><input type="text" name="nbk" id="nbk" value="<?php echo $hsc($data['Nb_km']); ?>" /></li>
                        <li data-role="list-divider">Chauffeur</li>
                        <li><input type="text" name="chauffeur" id="chauffeur" value="<?php echo $hsc($data['Chauffeur']) ?>" /></li>
                        <li data-role="list-divider">Date</li>
                        <li><input type="text" name="date_liv" id="date_liv" value="<?php echo $hsc($data['Date_liv']) ?>" /></li>
                    </ul>
                    <input type="submit" name="modifier" id="modifier" value="Modifier" data-theme="b" />
                </form>
            </div>
            <div data-role="footer">
                <h4>&copy; Aldana - Antony 2013</h4>
            </div><!-- /Pied de page -->
        </div>
        <?php if (isset($erreur)) echo '<br /><br />', $hsc($erreur); ?>
    </body>
    </html>
    EDIT : J'ai fait un essai chez moi et ça roule.
    Par ailleurs, les fonctions mysql_xxx sont obsolètes, tu dois passer soit sur PDO soit sur les fonction mysqli_xxx

  5. #5
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 79
    Points : 62
    Points
    62
    Par défaut
    Merci beaucoup pour ton aide.

    J'ai repris le code que tu m'as envoyé en complétant les blancs et cette erreur survient:
    Parse error: syntax error, unexpected T_FUNCTION in /mnt/159/sdb/b/b/a.j.transports/modifier_tnt.php on line 22
    La ligne 22 correspond à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $hsc  = function($p) { return htmlspecialchars($p, ENT_QUOTES, 'utf-8'); };
    Comme je ne suis pas du tout familier avec ce code "évolué" pour moi je ne peux pas déterminer comment la corriger. J'ai regardé un peu sur le net mais sans résultat

  6. #6
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Quelle version de php tu utilises ?
    Pour que ce code fonctionne tu dois tourner au minimum sur php 5.3

  7. #7
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 79
    Points : 62
    Points
    62
    Par défaut
    Donc c'est pour ça, je suis en PHP Version 4.4.3-dev.

    Que dois-je faire ?

    Si je passe à une version supérieure je devrais remanier tout mon code antécédent ?

    En regardant sur le net j'ai vu comment changer de version.

    Donc j'ai créé un fichier .htaccess avec ce code dedans:
    SetEnv PHP_VER 5.4

    Je l'ai upload sur le serveur à la racine de mes fichiers php mais ça ne change pas ma version.

  8. #8
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par CaNiBaLe Voir le message
    Je l'ai upload sur le serveur à la racine de mes fichiers php mais ça ne change pas ma version.
    T'es sûr de toi ?
    Fais un

  9. #9
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 79
    Points : 62
    Points
    62
    Par défaut
    Oui j'ai fait un phpinfo() comme il faut et ça m'affiche que je suis en PHP Version 5.1.3RC4-dev.

    Dans le .htaccess j'ai ce code: php 5.

    J'ai lu que c'est ce qu'il faut mettre quand on est hébergé chez free.

    Seulement cette version là n'est pas suffisante non plus...

  10. #10
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Ok, c'est free qui n'a aucune intention de proposer mieux... Vu que c'est gratuit, c'est à prendre ou à laisser.
    Je vais adapter mon code.

    EDIT : Code modifié :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    <?php
     
    session_start();
     
    if ( ! isset($_SESSION['email']))
    {
       header('Location: index.php');
       exit;
    }
     
    $id_tournee = isset($_GET['tournee']) ? (int)$_GET['tournee'] : 0;
     
    if ($id_tournee === 0)
    {
     
    }
     
    mysql_connect ('sql.free.fr', '**********', '*********');
    mysql_select_db ('*********');
     
    $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_assoc($req);
     
    // échappement des caractères à l'affichage
    function hsc($p) { return htmlspecialchars($p, ENT_QUOTES, 'utf-8'); };
    $data = array();
     
    if (isset($_POST['modifier']) && $_POST['modifier'] === 'Modifier')
    {
        $keys  = array('numero', 'nbp', 'nbr', 'nbk', 'chauffeur', 'date_liv');
        $error = false;
        foreach ($keys as $k)
        {
            if (( ! isset($_POST[$k])) || ($_POST[$k] === ''))
            {
                $error = true;
                break;
            }
        }
     
        if ($error)
        {
     
        }
        else
        {
            $values = array();
            foreach ($keys as $k)
            {
                $values[$k] = mysql_real_escape_string($_POST[$k]);
            }
     
            $sql =
    <<<SQL
    UPDATE tournee_tnt SET
        Numero    = '{$values['numero']}',
        Nb_pt_liv = '{$values['nbp']}',
        Pickup    = '{$values['nbr']}',
        Nb_km     = '{$values['nbk']}',
        Chauffeur = '{$values['chauffeur']}',
        Date_liv  = '{$values['date_liv']}',
    WHERE
        ID_TNT    = {$id_tournee}
    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="dvp_bis.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 hsc($data['Numero']) ?>" /></li>
                        <li data-role="list-divider">Nombre de points</li>
                        <li><input type="text" name="nbp" id="nbp" value="<?php echo hsc($data['Nb_pt_liv']) ?>" /></li>
                        <li data-role="list-divider">Nombre de ramasses</li>
                        <li><input type="text" name="nbr" id="nbr" value="<?php echo hsc($data['Pickup']) ?>" /></li>
                        <li data-role="list-divider">Nombre de kilomètres</li>
                        <li><input type="text" name="nbk" id="nbk" value="<?php echo hsc($data['Nb_km']); ?>" /></li>
                        <li data-role="list-divider">Chauffeur</li>
                        <li><input type="text" name="chauffeur" id="chauffeur" value="<?php echo hsc($data['Chauffeur']) ?>" /></li>
                        <li data-role="list-divider">Date</li>
                        <li><input type="text" name="date_liv" id="date_liv" value="<?php echo hsc($data['Date_liv']) ?>" /></li>
                    </ul>
                    <input type="submit" name="modifier" id="modifier" value="Modifier" data-theme="b" />
                </form>
            </div>
            <div data-role="footer">
                <h4>&copy; Aldana - Antony 2013</h4>
            </div><!-- /Pied de page -->
        </div>
        <?php if (isset($erreur)) echo '<br /><br />', hsc($erreur); ?>
    </body>
    </html>

  11. #11
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 79
    Points : 62
    Points
    62
    Par défaut
    Il va peut-être falloir que je réfléchisse à un nouvel hébergeur un de ces jours...

    En tout cas merci pour l'aide que tu m'apportes.

  12. #12
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Est ce que ce code passe sans soucis ?

  13. #13
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 79
    Points : 62
    Points
    62
    Par défaut
    Je viens de le tester. Alors je n'ai pas d'erreur mais les champs ne sont pas préalablement remplis avec les données de la BDD et la requête de modification ne passe pas.

  14. #14
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Purée, ils abusent quand même free.
    Rajoute après :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $data = mysql_fetch_assoc($req);
    et reessaie

  15. #15
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 79
    Points : 62
    Points
    62
    Par défaut
    Le résultat :
    Array ( [Numero] => 155 [Nb_pt_liv] => 15 [Pickup] => 3 [Nb_km] => 500 [Chauffeur] => ALDANA Antony [Date_liv] => 2013-06-05 ).

  16. #16
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    je suis une chèvre, après avoir rempli $data avec les données de la base (ligne 23), je le vide ligne 27

    vire la ligne 27, stp

  17. #17
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 79
    Points : 62
    Points
    62
    Par défaut
    Les champs s'affichent désormais mais je ne peux toujours pas exécuter la requête. Lorsque je modifie une champs et que je clique sur le bouton "Modifier" rien ne se passe et jQuery me renvoie une "error loading page"

  18. #18
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    C'est un problème que j'avais déjà vu avec jQueryMobile. C'est cette lib qui cause souci.
    Il faut vérifier si jquery-1.9.1.min.js est bien compatible avec jquery.mobile-1.3.1.min.js

  19. #19
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 79
    Points : 62
    Points
    62
    Par défaut
    Je vois... C'est bien dommage car il faut que j'utilise jQueryMobile.
    Je vais essayer de me débrouiller pour le reste je te remercie de ton aide, vraiment

    Passe une bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Requête Update, aucun changement DB
    Par lrachell dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 25/05/2014, 21h00
  2. [PDO] PDO et exécution de requête paramétrée (aucun résultat ne s'affiche)
    Par babacan dans le forum PHP & Base de données
    Réponses: 42
    Dernier message: 01/03/2012, 17h22
  3. Requête UPDATE ne donne aucun résultat
    Par Mike619 dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 11/03/2008, 10h18
  4. [MySQL] Savoir si la requête ne retourne aucun résultat
    Par mickado dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 06/04/2007, 09h37
  5. PSQLException "Aucun résultat retourné par la requête&q
    Par BRAUKRIS dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 15/09/2005, 20h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo