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 :

modifier plusieurs lignes en datetime


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2008
    Messages : 112
    Par défaut modifier plusieurs lignes en datetime
    bonjour à toutes et à tous, j'ai un petit problème avec un bout de code, j'ai une base de donnée structurée de cette manière :

    ID|EVENT|DATE_FIN
    1|event1|2009-03-07 12:00:00
    2|event2|2009-04-01 12:00:00

    (le champ DATE_FIN est en type datetime)
    je souhaite a partir d'un seul formulaire modifier toutes les ligne (entrées) du champ DATE_FIN
    j'ai trouvé un tuto à cette adresse que j'ai adapté sur mon code : http://www.phpeasystep.com/mysql/10.html

    je fais donc une boucle while sur mes select qui contiennent l'info de date
    (je ne souhaite pas changer l'heure via le formulaire mais j'ai quand même besoin d'avoir toutes les heures à 12:00:00 dans ma B. de D.)

    je pense que c'est le format datetime de mon champ DATE_FIN qui pose problème ou peut-être le explode qui me renvoie une fausse valeur ?

    ça fait plusieurs jours que je suis dessus mais je n'arrive malheureusement pas à faire fonctionner, ca serait vraiment sympa si quelqu'un pouvais m'aider ou me donner une piste car là j'arrive pas a comprendre ce qui ne fonctionne pas...

    d'avance un grand merci
    voici mon code :
    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
    if (!$_POST) 
    {
    				$sql="SELECT * FROM nav";
    				$result=mysql_query($sql);
    				$count=mysql_num_rows($result);
    			?>
    				<form method="post" action="<?php $PHP_SELF ?>">
    			<?php
    			while($rowN=mysql_fetch_array($result))
    			{
    			$id[]=$rowN['ID'];  
    			//On explose la date
    			$dateArray=explode("-", $rowN["DATE_FIN"]);
                ?>
    			<h1><?php echo $rowN["EVENT"] ;?></h1>
    			<p>Date :
    				   <select name="jour[]" >
    											<?
    											for($jour=1; $jour<=31; $jour++)
    											{	
    												//si plus petit que 10, on rajoute un zéro
    												if ($jour<10) $jour="0$jour";
    												if ($dateArray[2]==$jour) $seljour="selected=\"selected\"";
    												else $seljour=false;
     
    											?><option <? echo $seljour; ?> value="<? echo $jour; ?>"><? echo $jour; ?></option><?    
    											}
    											?>
    									  </select>       
    									  <select name="mois[]">
    											<?
    											for($mois=1; $mois<=12; $mois++)
    											{
    												//si plus petit que 10, on rajoute un zéro
    												if ($mois<10) $mois="0$mois";
    												if ($dateArray[1]==$mois) $selmois="selected=\"selected\"";
    												else $selmois=false;
     
    												?><option <? echo $selmois; ?> value="<? echo $mois; ?>"><? echo $mois; ?></option><?   
    											}
    											?>
    									  </select>
    									  <select name="annee[]">
    											<?
    											for($annee=date ("Y"); $annee<=date("Y")+2; $annee++)
    											{
    												if ($dateArray[0]==$annee) $selannee="selected=\"selected\"";
    												else $selannee=false;
    												?><option <? echo $selannee; ?> value="<? echo $annee; ?>"><? echo $annee; ?></option><?    
    											}
    											?>
    									  </select></p>
    			<?php 	  
    				}				
    			 ?>	
    			<p><input type="submit" name="Submit" value="Modifier" /></p>
    			</form>	
    			<?php
    }
    if($Submit)
    {
    	for($i=0;$i<$count;$i++)
    		{
    		$sql1="UPDATE nav SET DATE_FIN='$annee[$i]-$mois[$i]-$jour[$i]&nbsp;12:00:00' WHERE ID='$id[$i]'";
    		$result1=mysql_query($sql1);
    		}
    }
    if($result1)
    {
    	echo "ok";	
    	$confirm="OK";
    	?>
    	<script type="text/javascript">
            document.location.href="admin.php?menu=event";
        </script>
         <?
     
    }

  2. #2
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    dans ton code la variable $Submit n'existe pas. si tu veux tester l'envoi du formulaire c'est avec $_POST['Submit']
    regarde là :
    http://php.developpez.com/faq/index....vers_easyphp17

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2008
    Messages : 112
    Par défaut
    merci, j'ai changé mais ca ne fonctionne toujours pas...

  4. #4
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    montre nous ton nouveau code

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2008
    Messages : 112
    Par défaut
    le voici, merci d'avance pour ton aide, c'est vraiment sympa !
    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
     
    <?php
    				$sql="SELECT * FROM nav";
    				$result=mysql_query($sql);
    				$count=mysql_num_rows($result);
    			?>
    				<form method="post" action="admin.php?menu=event">
    			<?php
    			while($rowN=mysql_fetch_array($result))
    			{
    			$id[]=$rowN['ID'];
    			//On explose la date
    			$dateArray=explode("-", $rowN["DATE_FIN"]);
                ?>
    			<h1><?php echo $rowN["EVENT"] ;?></h1>
    			<p>Date :
    				   <select name="jour[]" >
    											<?
    											for($jour=1; $jour<=31; $jour++)
    											{	
    												//si plus petit que 10, on rajoute un zéro
    												if ($jour<10) $jour="0$jour";
    												if ($dateArray[2]==$jour) $seljour="selected=\"selected\"";
    												else $seljour=false;
     
    											?><option <? echo $seljour; ?> value="<? echo $jour; ?>"><? echo $jour; ?></option><?    
    											}
    											?>
    									  </select>       
    									  <select name="mois[]">
    											<?
    											for($mois=1; $mois<=12; $mois++)
    											{
    												//si plus petit que 10, on rajoute un zéro
    												if ($mois<10) $mois="0$mois";
    												if ($dateArray[1]==$mois) $selmois="selected=\"selected\"";
    												else $selmois=false;
     
    												?><option <? echo $selmois; ?> value="<? echo $mois; ?>"><? echo $mois; ?></option><?   
    											}
    											?>
    									  </select>
    									  <select name="annee[]">
    											<?
    											for($annee=date ("Y"); $annee<=date("Y")+2; $annee++)
    											{
    												if ($dateArray[0]==$annee) $selannee="selected=\"selected\"";
    												else $selannee=false;
    												?><option <? echo $selannee; ?> value="<? echo $annee; ?>"><? echo $annee; ?></option><?    
    											}
    											?>
    									  </select></p>
    <?php 	  
    				}				
    ?>	
    			<p><input type="submit" name="Submit" value="Modifier" /></p>
    			</form>	
    <?php
    if($_POST['Submit'])
    {
     
    	for($i=0;$i<$count;$i++)
    		{
    		$sql1="UPDATE nav SET DATE_FIN='$annee[$i]-$mois[$i]-$jour[$i] 12:00:00' WHERE ID='$id[$i]' ";
    		$result1=mysql_query($sql1);
    		}
    		if($result1)
    		{
    			?>
    			<script type="text/javascript">
    				document.location.href="admin.php?menu=event";
    			</script>
    			 <?
    		}
    }
    ?>

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2008
    Messages : 112
    Par défaut
    en fait je ne récupère aucune données lors de ma requête...
    voici le résultat que mon code ci-dessus me donne :
    UPDATE nav SET DATE_FIN='-- 12:00:00' WHERE ID=''

    j'ai vraiment de la peine à saisir, merci d'avance pour votre aide

  7. #7
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    tu n'as pas bien lu le lien que je t'ai donné, tu dois modifier à chaque endroit où tu récupères les données du formulaire
    Citation Envoyé par nosferapti Voir le message

Discussions similaires

  1. Requête pour modifier plusieurs lignes d'une colonne
    Par nvit24 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 19/08/2011, 00h42
  2. [MySQL] modifier plusieurs lignes
    Par link.80 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 10/05/2010, 16h31
  3. [MySQL] Modifier plusieurs lignes de tables en meme temps
    Par helrick dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 12/07/2007, 11h18
  4. Réponses: 6
    Dernier message: 05/08/2006, 10h54
  5. Réponses: 2
    Dernier message: 10/05/2005, 18h15

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