Formation par Olivier Duffez

Formation au référencement par Olivier Duffez, créateur de WebRankInfo !
Une formule efficace alliant théorie et pratique, avec une haute disponibilité des intervenants
Cette formule a déjà convaincu plusieurs centaines d'entreprises, pourquoi pas vous ?
Réservez vite votre place en ligne (convention possible pour imputer sur le budget formation)

Formation référencement Marseille

UPDATE TABLE MYSQL !

Aller à la page 1, 2  Suivante
Poster un nouveau sujet Imprimer cette discussion    Forum -> Développement d'un site Web   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
hx.jonathan
WRInaute discret
WRInaute discret

Inscrit le: 02 Mar 2005
Messages: 71

URL permanente de ce messagePosté le : Lun Aoû 06, 2007 15:27    Sujet du message: UPDATE TABLE MYSQL !

Bonjour à tous,

J'ai déjà cherché sur le site d'autre sujets identique mais aucun ne réponds bien à mon prblème.

J'ai une page d'affichage d'enregistrement et une page de mise à jour. La page d'affichage fonctionne bien.

La page de mise à jour par contre pose problème car elle ne prends pas en compte mes modifications que j'effectue dans le formulaire.

Voici mes deux pages.

page affichage :

Code:
<?php

include_once 'fonctions.php';
   
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
          <html>
          <head>
          <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
        <link rel="stylesheet" type="text/css" href="styles_club.css" />
          <title>Accueil</title>
          </head>
          <body>
        <?php
       
      connexion_DB('bd_club');
      $res = mysql_query('SELECT * FROM jour');
      print '<form method="POST" action="check.php">';

$cpt=0;
while($row = mysql_fetch_array($res))
{
$cpt++;
$id_jour=$row['id_jour'];
$num=$row['num'];
$nom=$row['nom'];

print "<input type='hidden' name='IDJour' size='1' value='$id_jour'></input>";
print "<input type='text' name='numJour'".$cpt." size='1' value='$num'></input>";


echo "<br />";
 }
echo "<br />";
print '<div align="center"><input type="submit" name="envoie" VALUE="Confirmer la validation du traitement"></div>';
print '</form>';

mysql_close();
?>
        </body>
       
       
        </html>


page de mise à jour :

Code:
<?php

   
include_once 'fonctions.php';




if(isset($_POST['numJour']))     

$numJour=$_POST['numJour'];
else      $num="";
echo $num[15];

connexion_DB('bd_club');


for($i=1; $i<31;$i++){

$ZeVar='numJour'.$i;
$sql = "UPDATE jour SET num = '".$ZeVar."' WHERE id_jour = '$i'";
echo "<br/>".$sql;

$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
}

header("Location:http://127.0.0.1/absence/index.php?page=02");
   



   
      
?>


Edit HawkEye: mise en forme BBcode [ code] + [/code]


D'avance merci. J'attends vos suggestions.

John
 
hx.jonathan
bproductiv
WRInaute accro
WRInaute accro

Inscrit le: 27 Déc 2004
Messages: 2211
Localisation: La roche s/ yon

URL permanente de ce messagePosté le : Lun Aoû 06, 2007 16:15    Sujet du message: UPDATE TABLE MYSQL !

Je crois que tu devrais commencer par bien formater ton code source, du style :
Code:
if(condition){
action;
}else{
autreaction;
}

on comprendra mieux..
As tu vu que tu recupere une valeur dans une variable $numjour et que si elle n'est pas remplie tu met $num vide.. quel rapport?
Un peu de précision serait les bienvenue...
 
bproductiv Visiter le site web du posteur
HawkEye
Modérateur
Modérateur

Inscrit le: 23 Fév 2004
Messages: 12418
Localisation: Google

URL permanente de ce messagePosté le : Lun Aoû 06, 2007 16:22    Sujet du message: UPDATE TABLE MYSQL !

Pour commencer,

Code:
$sql = "UPDATE `jour` SET `num` = '$ZeVar' WHERE `id_jour` = '$i'";


--> fais un
Code:
<?php echo $sql; ?>
pour vérifier la query.
 
HawkEye Visiter le site web du posteur
hx.jonathan
WRInaute discret
WRInaute discret

Inscrit le: 02 Mar 2005
Messages: 71

URL permanente de ce messagePosté le : Lun Aoû 06, 2007 16:32    Sujet du message: UPDATE TABLE MYSQL !

Salut HawkEye,

Le test de ma requete est déjà fait après la requête. Tu as du la louper dans le code.
 
hx.jonathan
hx.jonathan
WRInaute discret
WRInaute discret

Inscrit le: 02 Mar 2005
Messages: 71

URL permanente de ce messagePosté le : Lun Aoû 06, 2007 16:42    Sujet du message: UPDATE TABLE MYSQL !

Voici quelque commentaires afin que de voir plus clair:


page affichage enregistrements :

Code:
//connexion BDD
        
connexion_DB('bd_club');

// REQUETE SQL
$res = mysql_query('SELECT * FROM jour');
print '<form method="POST" action="check.php">';

//boucle

$cpt=0;
while($row = mysql_fetch_array($res))
{
$cpt++;
$id_jour=$row['id_jour'];
$num=$row['num'];
$nom=$row['nom'];

//affichage enregistrements

print "<input type='hidden' name='IDJour' size='1' value='$id_jour'></input>";
print "<input type='text' name= numJour".$cpt." size='1' value='$num'></input>";


echo "<br />";
 }
echo "<br />";
print '<div align="center"><input type="submit" name="envoie" VALUE="Confirmer la validation du traitement"></div>';
print '</form>';

mysql_close();




page de mise à jour:
Code:

include_once 'fonctions.php';




if(isset($_POST['numJour']))     

$numJour=$_POST['numJour'];

//fonction connexion BDD
connexion_DB('bd_club');

//boucle

for($i=1; $i<10;$i++){

$ZeVar='numJour'.$i;

//instruction SQL UPDATE des champs

$sql = "UPDATE jour SET num = '".$ZeVar."' WHERE id_jour = '$i'";
echo $sql;

$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
}

//redirection

header("Location:http://127.0.0.1/absence/index.php?page=02");
   

[/code]
 
hx.jonathan
hx.jonathan
WRInaute discret
WRInaute discret

Inscrit le: 02 Mar 2005
Messages: 71

URL permanente de ce messagePosté le : Lun Aoû 06, 2007 16:46    Sujet du message: UPDATE TABLE MYSQL !

Voici ce qu'il m'affiche pour ma requête SQL


Code:

UPDATE jour SET num = 'numJour1' WHERE id_jour = '1'UPDATE jour SET num = 'numJour2' WHERE id_jour = '2'UPDATE jour SET num = 'numJour3' WHERE id_jour = '3'UPDATE jour SET num = 'numJour4' WHERE id_jour = '4'UPDATE jour SET num = 'numJour5' WHERE id_jour = '5'UPDATE jour SET num = 'numJour6' WHERE id_jour = '6'UPDATE jour SET num = 'numJour7' WHERE id_jour = '7'UPDATE jour SET num = 'numJour8' WHERE id_jour = '8'UPDATE jour SET num = 'numJour9' WHERE id_jour = '9'
 
hx.jonathan
f_trt
WRInaute passionné
WRInaute passionné

Inscrit le: 17 Sep 2005
Messages: 763
Localisation: Sud Oues

URL permanente de ce messagePosté le : Lun Aoû 06, 2007 17:39    Sujet du message: UPDATE TABLE MYSQL !

Les requetes sont bonnes, qu'est ce qui ne va pas ?
Si tu regardes dans ta table jour avec phpMyAdmin qu'as tu ?
 
f_trt Visiter le site web du posteur
hx.jonathan
WRInaute discret
WRInaute discret

Inscrit le: 02 Mar 2005
Messages: 71

URL permanente de ce messagePosté le : Lun Aoû 06, 2007 17:47    Sujet du message: UPDATE TABLE MYSQL !

Salut,

merci pour ta réponse.

Sur la page de mon formulaire, quand je modifie un champ et que je clique sur le bouton de validation, il me remplace tous les champs par 0.

Je cherche depuis super longtemps et personne ne parvient à m'aider. Je ne suis peut être pas clair.
 
hx.jonathan
Robinson
WRInaute accro
WRInaute accro

Inscrit le: 26 Oct 2005
Messages: 1383

URL permanente de ce messagePosté le : Lun Aoû 06, 2007 17:52    Sujet du message: UPDATE TABLE MYSQL !

C'est ici ton problème :

$ZeVar='numJour'.$i;

Avec ça, tu ne récupères nullement la valeur du POST.
Enfin, ce n'est pas exactement là ton problème.

La valeur récupérée doit se trouver avec $$ZeVar (si j'ai bien compris ce que tu souhaites même si ton code n'a pas l'air de faire cela lol).

Edit : il te met 0 car c'est un champ de type int (ou numérique)
 
Robinson
hx.jonathan
WRInaute discret
WRInaute discret

Inscrit le: 02 Mar 2005
Messages: 71

URL permanente de ce messagePosté le : Lun Aoû 06, 2007 17:57    Sujet du message: UPDATE TABLE MYSQL !

Que dois-je modifier exactement a ton avis ?

John
 
hx.jonathan
Robinson
WRInaute accro
WRInaute accro

Inscrit le: 26 Oct 2005
Messages: 1383

URL permanente de ce messagePosté le : Lun Aoû 06, 2007 18:05    Sujet du message: UPDATE TABLE MYSQL !

Un vieux bout de code que j'utilisais :
Code:
   //Pour tous les champs
   for($i=0; $i <= $nbchamps; $i++){
      $num = "numJour".($i+1);
      $valeurdupost = $_POST[$num];
      $listedesposts[$i] = $valeurdupost;
   }

Tu récupères ainsi tes valeurs dans un tableau et hop tu en fais ce que tu veux.
 
Robinson
f_trt
WRInaute passionné
WRInaute passionné

Inscrit le: 17 Sep 2005
Messages: 763
Localisation: Sud Oues

URL permanente de ce messagePosté le : Lun Aoû 06, 2007 19:48    Sujet du message: UPDATE TABLE MYSQL !

Robinson a raison tu modifies juste
Code:

$sql = "UPDATE jour SET num = '".$ZeVar."' WHERE id_jour = '$i'";

par
Code:

$sql = "UPDATE jour SET num = '".$$ZeVar."' WHERE id_jour = '$i'";


Le double $$ est très très important dans ton cas car il s'agit bien de récupérer la valeur pointée par $ZeVar

A+
 
f_trt Visiter le site web du posteur
hx.jonathan
WRInaute discret
WRInaute discret

Inscrit le: 02 Mar 2005
Messages: 71

URL permanente de ce messagePosté le : Lun Aoû 06, 2007 23:37    Sujet du message: UPDATE TABLE MYSQL !

Voilà j'ai essayé en changeant par $$ZeVar mais ça ne règle pas le problème. Voici ce qu'il me marque comme erreur :

Code:

Notice: Undefined variable: numJour1 in D:\SEERYX\absence\check.php on line 28

UPDATE jour SET num = '' WHERE id_jour = '1'
Notice: Undefined variable: numJour2 in D:\SEERYX\absence\check.php on line 28

UPDATE jour SET num = '' WHERE id_jour = '2'
Notice: Undefined variable: numJour3 in D:\SEERYX\absence\check.php on line 28

UPDATE jour SET num = '' WHERE id_jour = '3'
Notice: Undefined variable: numJour4 in D:\SEERYX\absence\check.php on line 28

UPDATE jour SET num = '' WHERE id_jour = '4'
Notice: Undefined variable: numJour5 in D:\SEERYX\absence\check.php on line 28

UPDATE jour SET num = '' WHERE id_jour = '5'
Notice: Undefined variable: numJour6 in D:\SEERYX\absence\check.php on line 28

UPDATE jour SET num = '' WHERE id_jour = '6'
Notice: Undefined variable: numJour7 in D:\SEERYX\absence\check.php on line 28

UPDATE jour SET num = '' WHERE id_jour = '7'
Notice: Undefined variable: numJour8 in D:\SEERYX\absence\check.php on line 28

UPDATE jour SET num = '' WHERE id_jour = '8'
Notice: Undefined variable: numJour9 in D:\SEERYX\absence\check.php on line 28

UPDATE jour SET num = '' WHERE id_jour = '9'



 
hx.jonathan
f_trt
WRInaute passionné
WRInaute passionné

Inscrit le: 17 Sep 2005
Messages: 763
Localisation: Sud Oues

URL permanente de ce messagePosté le : Lun Aoû 06, 2007 23:56    Sujet du message: UPDATE TABLE MYSQL !

Alors la piste de Robinson
$sql = "UPDATE jour SET num = '".$_POST[$ZeVar]."' WHERE id_jour = '$i'";
 
f_trt Visiter le site web du posteur
hx.jonathan
WRInaute discret
WRInaute discret

Inscrit le: 02 Mar 2005
Messages: 71

URL permanente de ce messagePosté le : Mar Aoû 07, 2007 0:04    Sujet du message: UPDATE TABLE MYSQL !

Il me met Undefined index à la place de undefined variable:

Code:


la variable numJour existe
Notice: Undefined index: numJour1 in D:\SEERYX\absence\check.php on line 27

UPDATE jour SET num = '' WHERE id_jour = '1'
Notice: Undefined index: numJour2 in D:\SEERYX\absence\check.php on line 27

UPDATE jour SET num = '' WHERE id_jour = '2'
Notice: Undefined index: numJour3 in D:\SEERYX\absence\check.php on line 27

UPDATE jour SET num = '' WHERE id_jour = '3'
Notice: Undefined index: numJour4 in D:\SEERYX\absence\check.php on line 27

UPDATE jour SET num = '' WHERE id_jour = '4'
Notice: Undefined index: numJour5 in D:\SEERYX\absence\check.php on line 27

UPDATE jour SET num = '' WHERE id_jour = '5'
Notice: Undefined index: numJour6 in D:\SEERYX\absence\check.php on line 27

UPDATE jour SET num = '' WHERE id_jour = '6'
Notice: Undefined index: numJour7 in D:\SEERYX\absence\check.php on line 27

UPDATE jour SET num = '' WHERE id_jour = '7'
Notice: Undefined index: numJour8 in D:\SEERYX\absence\check.php on line 27

UPDATE jour SET num = '' WHERE id_jour = '8'
Notice: Undefined index: numJour9 in D:\SEERYX\absence\check.php on line 27

UPDATE jour SET num = '' WHERE id_jour = '9'


 
hx.jonathan
 
Montrer les messages depuis:   
Revenir en haut    Forum -> Développement d'un site Web Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 2 - Aller à la page 1, 2  Suivante
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

A lire dans l'actualité sur WRI :

En savoir plus : .

Définitions :

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort