Explode

Résolu
t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   -  
t671 Messages postés 1476 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

ghFrankfurt Messages postés 207 Date d'inscription   Statut Membre Dernière intervention   23
 
Bonjour,

As tu essayé de faire un echo de la requête query et de la faire directement dans mysql?
0
t671 Messages postés 1476 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
ghFrankfurt Messages postés 207 Date d'inscription   Statut Membre Dernière intervention   23
 
Peut-tu nous montrer à quoi ressemble la requête?
0
t671 Messages postés 1476 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
ghFrankfurt Messages postés 207 Date d'inscription   Statut Membre Dernière intervention   23
 
Je veux dire la requête query.
Donc si tu fais
$qry = "UPDATE ...";
echo $qry; //ceci
0
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   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
ghFrankfurt Messages postés 207 Date d'inscription   Statut Membre Dernière intervention   23
 
Bien vu
0
t671 Messages postés 1476 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