Explode

Résolu
t671 Messages postés 1479 Date d'inscription   Statut Membre Dernière intervention   -  
t671 Messages postés 1479 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je récupère un champs date dans ma base. Comme ce champs peut contenir les mots "Avant", "Après" ou "Vers" suivi d'une date, je veux isoler la date.
Donc je fais un "explode" :
$select = "SELECT * FROM mariage_ville"; 	
$result = mysql_query($select,$link) or die(mysql_error()."\n".$select);

while($row = mysql_fetch_array($result))
{
$date_mariage = $row['date_mariage'];

$date_mariage = explode(" ", $date_mariage);
if ($date_mariage[0] = "Avant" || $date_mariage[0] = "Après" || $date_mariage[0] = "Vers")
{ $resultat=mysql_query('UPDATE mariage_ville SET date_marg_1=$date_mariage[0], date_marg_2=$date_mariage[1]$date_mariage[2]$date_mariage[3] WHERE id = "'.$row['id'].'"'); }
}
Mais rien ne fonctionne, et je n'ai pas de message d'erreur ....

4 réponses

  1. ghFrankfurt Messages postés 227 Statut Membre 23
     
    Bonjour,

    As tu essayé de faire un echo de la requête query et de la faire directement dans mysql?
    0
  2. t671 Messages postés 1479 Date d'inscription   Statut Membre Dernière intervention   11
     
    Ce que j'ai testé, c'est que $date_mariage[0] existe bien.
    C'est donc l'UPDATE qui ne fonctionne pas .............. !!!!!
    0
    1. ghFrankfurt Messages postés 227 Statut Membre 23
       
      Peut-tu nous montrer à quoi ressemble la requête?
      0
    2. t671 Messages postés 1479 Date d'inscription   Statut Membre Dernière intervention   11
       
      if ($date_mariage[0] = "Avant" || $date_mariage[0] = "Après" || $date_mariage[0] = "Vers")
      {
      $resultat=mysql_query('UPDATE mariage_ville SET date_marg_1=$date_mariage[0], date_marg_2=$date_mariage[1]$date_mariage[2]$date_mariage[3] WHERE id = "'.$row['id'].'"');
      }
      0
    3. ghFrankfurt Messages postés 227 Statut Membre 23
       
      Je veux dire la requête query.
      Donc si tu fais
      $qry = "UPDATE ...";
      echo $qry; //ceci
      
      0
  3. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    Bonjour,
    if ($date_mariage[0] = "Avant" || $date_mariage[0] = "Après" || $date_mariage[0] = "Vers")

    Il faut utiliser des double-égal ! « == » au lieu de « = ».
    Parce que là, dans ton « if » tu changes la valeur de $date_mariage[0]...
    0
    1. ghFrankfurt Messages postés 227 Statut Membre 23
       
      Bien vu
      0
  4. t671 Messages postés 1479 Date d'inscription   Statut Membre Dernière intervention   11
     
    Merci, mais ça ne fonctionne toujours pas. Je me suis mis à tester sur 1 enregistrement :
    $select = "SELECT * FROM mariage_ville WHERE id=18"; 	
    $result = mysql_query($select,$link) or die(mysql_error()."\n".$select);
    $row = mysql_fetch_array($result);

    $date_mariage = $row['date_mariage'];
    $date_mariage = explode(" ", $date_mariage);
    if ($date_mariage[0] == "Avant" || $date_mariage[0] == "Après" || $date_mariage[0] == "Vers")
    { $resultat=mysql_query('UPDATE mariage_ville SET date_marg_1=$date_mariage[0], date_marg_2=$date_mariage[1]$date_mariage[2]$date_mariage[3] WHERE id = "'.$row['id'].'"'); }
    0