Recherche dans une table à partir d'une liste copiée collée

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Recherche dans une table à partir d'une liste copiée collée

Re: Recherche dans une table à partir d'une liste copiée collée

par niko94100 » 11 déc. 2010, 13:56

MERCIIIII
Je ne savais pas si ça allait marcher
j'avais essayé mais rien de concluant ... alors voyant ton message j'ai insisté et la oh magie ça marche !!!!!
bon en plus j'ai fait une boucle for lol

eh bien merci pour l'orientation ;)
for ($i=0;$i<=$nblignes;$i++)

{
$tab2=trim($tab[$i]);

$reponse=mysql_query("INSERT INTO liste SELECT Nom, Prenom FROM licences JOIN clubs ON licences.club = clubs.club WHERE CONCAT (Nom,' ',Prenom)='$tab2'")or die (mysql_error ());
echo trim($tab2).'</br>';

}

Re: Recherche dans une table à partir d'une liste copiée collée

par epommate2 » 11 déc. 2010, 12:27

Re: Recherche dans une table à partir d'une liste copiée collée

par niko94100 » 11 déc. 2010, 12:07

Bonjour à tous,

Oui j'avais vu ça mais en fait ça ne marchait toujours pas (juste la dernière ligne retournée)

en fait je me suis aperçus que à toutes les lignes était ajouté un espace à la fin forcément il ne trouve plus les noms prénoms .... à part le dernier .....

donc au final même avec le while dans le foreach ça ne fonctionne pas ... à cause de cet espace

Re: Recherche dans une table à partir d'une liste copiée collée

par epommate2 » 11 déc. 2010, 06:55

Tu dois mettre ca :
while($data=mysql_fetch_array($reponse))
{
echo ''.$data['Nom'].' '.$data['Prenom'].' '.$data['Naissance'].' '.$data['usuelclub'].'<br/></br>';
}

à l'intérieur de ton foreach !

Re: Recherche dans une table à partir d'une liste copiée collée

par niko94100 » 11 déc. 2010, 02:52

J'ai essayé en changeant les accolades mais rien
voilà un nouveau code
<?php

include 'connectbase.php';
conectbase();

$data2=$_POST['liste']; 

$tab = explode("\n ",$data2);


$nblignes=count($tab);
for ($i=0;$i<=$nblignes;$i++)

{
$reponse=mysql_query("INSERT INTO liste SELECT Nom, Prenom FROM licences JOIN clubs ON licences.club = clubs.club WHERE CONCAT (Nom,' ',Prenom)='$tab[$i]'")or die (mysql_error ());
echo $tab[$i].'</br>';

}



echo '<a href="exportliste.php">Exporter resultats</a>'
?>
le echo a la fin c'était pour vérifier mes valeurs retournée et en fait j'ai remarqué qu'il y a un espace de trop pour toutes les entrées du texte area en fin de ligne SAUF pour la dernière ligne ....

j'ai bien essayé la fonction trim mais bon ... rien donné ...

Re: Recherche dans une table à partir d'une liste copiée collée

par moogli » 11 déc. 2010, 02:12

heu nan tu met ça : echo ''.$data['Nom'].' '.$data['Prenom'].' '.$data['Naissance'].' '.$data['usuelclub'].'<br/></br>'; dans le foreach (avec le $data= mysql_fecth_assoc aussi hein ;) )

@+

Re: Recherche dans une table à partir d'une liste copiée collée

par niko94100 » 11 déc. 2010, 02:10

J'avais pensé a une boucle for
En gros j'utulise un count pour compter le nombre de ligne
et utiliser une boucle for
Ou alors pourquoi pas insérer les résultats dans une table
je vais essayer ça rapidos

Re: Recherche dans une table à partir d'une liste copiée collée

par moogli » 11 déc. 2010, 01:17

a vue de nez je dirais que c'est normal vu qu'il ne peut y avoir qu'un seule tuple avec cette requete (il n'y a qu'une licence qui a le couple nom/ prenom).

il te faut boucler sur les lignes insérées dans la textarea !

@+

Re: Recherche dans une table à partir d'une liste copiée collée

par niko94100 » 11 déc. 2010, 00:12

Bon petit soucis ..... il ne me renvoit que la dernière ligne ... étrange ....

<HTML>
<form name='liste' method='post' action=''>
<textarea name='liste' cols='60' rows='20'></textarea>
<input type='submit' name='Submit' value='Envoyer'>
</form>
</HTML>


<?php

include 'connectbase.php';
conectbase();

$data=trim($_POST['liste']); 

$tab = explode("\n",$data);

foreach($tab as $nomPrenom)
{
$reponse=mysql_query("SELECT * FROM licences JOIN clubs ON licences.club = clubs.club WHERE CONCAT (Nom,' ',Prenom)='$nomPrenom'")or die (mysql_error ());
}


while($data=mysql_fetch_array($reponse))
{
echo ''.$data['Nom'].' '.$data['Prenom'].' '.$data['Naissance'].' '.$data['usuelclub'].'<br/></br>';
}
echo '<a href="exportliste.php">Exporter resultats</a>'
?>

Re: Recherche dans une table à partir d'une liste copiée collée

par niko94100 » 10 déc. 2010, 22:05

Ahhhh mais que je suis bête (je débute) un explode ....

Merciiiiii ça oriente carrément ma recherche !!!!!
Bon allez au boulot ;)

Re: Recherche dans une table à partir d'une liste copiée collée

par epommate2 » 10 déc. 2010, 18:56

Ok, dans ce cas, lorsque tu récupère le contenu de ton textarea, essaye ceci :
$tab = explode("\n",$data);

foreach($tab as $nomPrenom){
//Faire la requête SQL précédente sur nomPrenom
}

Re: Recherche dans une table à partir d'une liste copiée collée

par niko94100 » 10 déc. 2010, 17:27

En fait

j'ai ma table principale qui reprend nom prenom date de naissance avec plein de nom

J'aimerais coller dans mon textaera une liste

nom prenom

et que le résultats me donne

nom prenom date de naissance


LIGNE 1 du textarea: Nom prenom 1
LIGNE 2 du textaera: Nom prenom 2

et qu'ensuite je puisse faire la correspondance entre ma table et mon textarea pour trouver les date de naissance des individus collés dans le textarea

Re: Recherche dans une table à partir d'une liste copiée collée

par epommate2 » 10 déc. 2010, 15:59

> Dans mon copié collé il n'y aura que le nom et le prénom donc à la limite dans ma requête peut être faire recherche sur l'ensemble "nom prenom" qui ira chercher dans ma table l'ensemble "nom" et "prenom" ?

C'est possible mais c'est sale ....
SELECT * FROM table WHERE concat(nom," ",prenom) = $data
Je suis désolé, mais je n'ai toujours pas compris ce que tu cherches à faire ...

Re: Recherche dans une table à partir d'une liste copiée collée

par niko94100 » 10 déc. 2010, 15:16

epommate> Le soucis c'est est ce que la requete va interpréter chaque ligne du text area ???

xTG> Dans mon copié collé il n'y aura que le nom et le prénom donc à la limite dans ma requête peut être faire recherche sur l'ensemble "nom prenom" qui ira chercher dans ma table l'ensemble "nom" et "prenom" ?

Re: Recherche dans une table à partir d'une liste copiée collée

par xTG » 10 déc. 2010, 13:47

Le gros soucis de l'export par copier/coller c'est que tu n'auras aucun délimiteur...
Comment savoir différencier les différentes données, telle est la question. :)
Car à ce que l'on peut voir le nom peut comporter des espaces, donc ce n'est pas un délimiteur viable.