[RESOLU] extraire un champ d'une colonne longtext

Eléphanteau du PHP | 30 Messages

30 avr. 2013, 12:05

Bonjour

J'aimerai faire une requête pour afficher les devis de mon formulaire.
faire un tableau qui affiche les demandes de + de 50 véhicules et un autre pour afficher les demandes de - de 50 véhicules.
Mon problème c'est que toutes les valeurs sont enregistrer dans une colonne content de type longtext (blob)!
Image
Le champ qui m'intéresse se nomme Nombre de véhicules :['element_numeric'][4]
Voila si vous pouviez me donné un petit coup de main pour faire ma requête afin d'extraire le nombre de véhicules de la colonne content :oops:

Merci d'avance

Mammouth du PHP | 619 Messages

30 avr. 2013, 12:19

Bonjour,

pourquoi ne pas faire une seule requête mais a l'affichage mettre les résultat dans un tableau différant ?

Eléphanteau du PHP | 30 Messages

30 avr. 2013, 12:29

Salut

Pourquoi pas, mais il faut déjà extraire le nombre de véhicules de la colonne content!

A bientôt

Mammouth du PHP | 619 Messages

30 avr. 2013, 12:39

Bonjour,

vous effectue votre requette vous faite une regex sur votre variable tableau pour recupere le nombre si infererieur on mais dans le tableau A sinon on met dans le tableau B
preg_match("!Nombre de vehicules : ([0-9]+)!is",$mavar,$value);

if($value[1]<50){
	
	
}
else{
	
	
}

Eléphanteau du PHP | 30 Messages

30 avr. 2013, 18:10

Bonjour

Merci beaucoup pour la réponse. :D
Bon je suis novice, pouvez-vous m'en dire plus...même si tout y est ( c'est pas limpide pour moi) :priere:
Voici mon code actuel:
<!-- Début Table-->
<?php
$requete = "SELECT * FROM formallin_formallex WHERE sessionFormallinEditor = 'WfAyeLpZib6qaStNm1kR4wTICLcUv5EFeDQNGSQN' ORDER BY date DESC";

// envoi de la requete
$resultat = mysql_query($requete) or die ('Erreur '.$requete.' '.mysql_error());
// tant qu'il y a un enregistrement, les instructions dans la boucle s'exécutent
echo "<table class='full list'>";
  
  echo "<tr>";
  echo "<th width='25'>ID</th>";
  echo "<th width='70'>Date</th>";
  echo "<th width='70'>Formulaire</th>";
  echo "<th>Contenu</th>";
  echo "</tr>";

while ($ligne = mysql_fetch_assoc($resultat)) {
$date=date('d/m/Y H:i:s', $ligne['date']);

	
  echo "<tr>";
  echo "<td>".$ligne['id']."</td>";
  echo "<td>".$date."</td>";
  echo "<td>Devis gratuit</td>";
  echo "<td>".$ligne['content']."</td>";    
  echo "</tr>"; 

 }
echo "</table>"; 
if(isset($erreur)) echo $erreur; 
?>
<!-- Fin Table-->
Et une petite image mysql:
Image
Merci d'avance
A bientôt

Mammouth du PHP | 619 Messages

30 avr. 2013, 19:08

Bonjour,

je pense que quelque chose comme
<!-- Début Table-->
<?php
$requete = "SELECT * FROM formallin_formallex WHERE sessionFormallinEditor = 'WfAyeLpZib6qaStNm1kR4wTICLcUv5EFeDQNGSQN' ORDER BY date DESC";

// envoi de la requete
$resultat = mysql_query($requete) or die ('Erreur '.$requete.' '.mysql_error());
// tant qu'il y a un enregistrement, les instructions dans la boucle s'exécutent

// initialise les variable tableau
$tableauA='';
$tableauB='';

//on creer un tableau de base
$tableau="<table class='full list'>";
$tableau.="<tr>";
$tableau.="<th width='25'>ID</th>";
$tableau.="<th width='70'>Date</th>";
$tableau.="<th width='70'>Formulaire</th>";
$tableau.="<th>Contenu</th>";
$tableau.="</tr>";

while ($ligne = mysql_fetch_assoc($resultat)) {
$date=date('d/m/Y H:i:s', $ligne['date']);

//on recupere le nombre de vehicule
preg_match("!Nombre de vehicules : ([0-9]+)!is",$ligne['content'],$value);



	//si nous avons moins de 50 vehicules
	if($value[1]<50){
		$tableauA.="<tr>";
		$tableauA.="<td>".$ligne['id']."</td>";
		$tableauA.="<td>".$date."</td>";
		$tableauA.="<td>Devis gratuit</td>";
		$tableauA.="<td>".$ligne['content']."</td>";    
		$tableauA.="</tr>"; 			
	}
	//sinon plus de 50 vehicules
	else{
		$tableauB.="<tr>";
		$tableauB.="<td>".$ligne['id']."</td>";
		$tableauB.="<td>".$date."</td>";
		$tableauB.="<td>Devis gratuit</td>";
		$tableauB.="<td>".$ligne['content']."</td>";    
		$tableauB.="</tr>"; 
			
	}
}

//si on a moins de 50 vehicules alors on affiche le premier tableau
if(isset($tableauA) and !empty($tableauA)){
	echo $tableau;
	echo $tableauA;	 
	echo "</table>"; 
}

//si on a plus de 50 vehicules alors on affiche le second tableau
if(isset($tableauB) and !empty($tableauB)){
	echo $tableau;
	echo $tableauB;	 
	echo "</table>"; 
}
 

if(isset($erreur)) echo $erreur; 
?>
<!-- Fin Table-->
Modifié en dernier par ghost5922 le 30 avr. 2013, 19:29, modifié 1 fois.

Eléphanteau du PHP | 30 Messages

30 avr. 2013, 19:27

Merci, merci beaucoup =D>

C'est pile poil :D

Bonne soirée
A bientôt