UPDATE TABLE MYSQL !
18 messages • Page 1 sur 2 • 1, 2
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
- hx.jonathan
- WRInaute occasionnel

- Messages: 118
- Inscription: Mer Mar 02, 2005 17:42
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 :
page de mise à jour :
Edit HawkEye: mise en forme BBcode [ code] + [/code]
D'avance merci. J'attends vos suggestions.
John
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: Tout sélectionner
<?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: Tout sélectionner
<?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
-

bproductiv - WRInaute accro

- Messages: 2853
- Inscription: Lun Déc 27, 2004 16:29
Je crois que tu devrais commencer par bien formater ton code source, du style :
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...
- Code: Tout sélectionner
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...
Pour commencer,
--> fais un
- Code: Tout sélectionner
$sql = "UPDATE `jour` SET `num` = '$ZeVar' WHERE `id_jour` = '$i'";
--> fais un
- Code: Tout sélectionner
<?php echo $sql; ?>
- hx.jonathan
- WRInaute occasionnel

- Messages: 118
- Inscription: Mer Mar 02, 2005 17:42
Salut HawkEye,
Le test de ma requete est déjà fait après la requête. Tu as du la louper dans le code.
Le test de ma requete est déjà fait après la requête. Tu as du la louper dans le code.
- hx.jonathan
- WRInaute occasionnel

- Messages: 118
- Inscription: Mer Mar 02, 2005 17:42
Voici quelque commentaires afin que de voir plus clair:
page affichage enregistrements :
page de mise à jour:
[/code]
page affichage enregistrements :
- Code: Tout sélectionner
//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: Tout sélectionner
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
- WRInaute occasionnel

- Messages: 118
- Inscription: Mer Mar 02, 2005 17:42
Voici ce qu'il m'affiche pour ma requête SQL
- Code: Tout sélectionner
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
- WRInaute occasionnel

- Messages: 118
- Inscription: Mer Mar 02, 2005 17:42
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.
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.
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)
$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)
- hx.jonathan
- WRInaute occasionnel

- Messages: 118
- Inscription: Mer Mar 02, 2005 17:42
Que dois-je modifier exactement a ton avis ?
John
John
Un vieux bout de code que j'utilisais :
Tu récupères ainsi tes valeurs dans un tableau et hop tu en fais ce que tu veux.
- Code: Tout sélectionner
//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 a raison tu modifies juste
par
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+
- Code: Tout sélectionner
$sql = "UPDATE jour SET num = '".$ZeVar."' WHERE id_jour = '$i'";
par
- Code: Tout sélectionner
$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+
- hx.jonathan
- WRInaute occasionnel

- Messages: 118
- Inscription: Mer Mar 02, 2005 17:42
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: Tout sélectionner
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
- WRInaute occasionnel

- Messages: 118
- Inscription: Mer Mar 02, 2005 17:42
Il me met Undefined index à la place de undefined variable:
- Code: Tout sélectionner
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'
18 messages • Page 1 sur 2 • 1, 2
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Passage à l'heure d'été/hiver sur un forum phpBB
- Google Update Jagger : étape 2 sur 3
- Historique des "Google Update"
- Des changements dans l'algorithme de Google ? (22 février 2007)
- GoogleStats : analyse temps réel des visites de Google sur votre site
- Les pays gérés par la Google Toolbar 2.0
- AdSense Tracking : statistiques détaillées sur les clics AdSense
- Yahoo Slurp et autres robots d'indexation de Yahoo
- Sortie officielle de GoogleStats v2.0 !
- Services et outils de Yahoo! Search
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités



le forum