extraction table avec tri

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 : extraction table avec tri

par (popi) » 17 mai 2006, 10:29

:) je veux surtout savoir ce qu'en pense ceux qui l'ont suivi !

par Truc » 16 mai 2006, 22:32

[HS] un forum ici pour parler de retour d'expérience sur les formations php d'Anaska ?
Eh, tu peux toujours en parler dans le forum "hors sujet" du moment que tu n'en dis que du bien :langue:

par popi » 16 mai 2006, 14:05

Vu pour la boucle en moins :wink: encore merci

[HS] un forum ici pour parler de retour d'expérience sur les formations php d'Anaska ?

par Truc » 15 mai 2006, 23:27

enfait tu as une boucle en moins, mais l'autre dois parcourir les tableaux de 1er niveau.

Tu as un tableau (t1) de tableaux (t2) il faut donc boucler sur t1 et in_array() évite une boucle sur les t2.

par popi » 15 mai 2006, 23:13

d'accord, je croyais que in_array permettait de se passer de la boucle,
bon ben là j'ai bien avancé et j'ai appris des trucs, nickel !

je te remercie Truc :wink:

par Truc » 15 mai 2006, 23:00

tu auras forcément une boucle, tu peux faire comme ceci:
foreach($tab_mot_cle as $cle => $val)
    if(in_array('le_mot', $val))        
         echo $cle;

par popi » 15 mai 2006, 22:50

Désolé :? je veux donc chercher si un ou plusieurs mots-clés existent et si oui, imprimer le tag correspondant
là j'y suis, avec la boucle je peux mettre if($val[$i]="monmotclé")...et la suite, je cherchais cependant s'il était possible de faire + simple avec in array par ex mais j'y suis pas arrivé

encore merci

par Truc » 15 mai 2006, 21:51

que souhaites tu faire maintenant avec ce tableau ?

tu as voulu garder les id avec les mots clés en relation il y a donc une raison à ça mais tu n'en dis pas plus alors difficile de te guider d'avantage.

par popi » 15 mai 2006, 13:42

Effectivement quand on a le bon code c'est déjà plus facile :D
Merci Truc !

Donc çà fonctionne sans souçis et me voilà donc avec la difficulté qui en découle à savoir chercher et extraire de ce(s) tableau, j'ai tout essayé les array_search, in array et Cie, j'arrive pas à trouver une valeur ou à boucler dessus car le tableau principal, tab_mot_cle, ne prends comme index que le nb de lignes et comme sur une même ligne il peut y avoir plusieurs mots-clés çà voudrait dire des boucles imbriquées ?
Je sèche :(

:D après m'être rendu compte qu'il existait des tutoriaux ici aussi :oops: j'ai trouvé pour les boucles :
	foreach($tab_mot_cle as $cle => $val){
		for($i=0;$i<=count($val);$i++){
			echo "$cle : $val[$i]<br />";
		}
	}
me reste plus qu'à trouver plus simple au lieu de tester le résultat à chaque fois pour savoir si une valeur existe

par popi » 14 mai 2006, 19:26

:shock: merci Truc j'essaie çà et je vous dis

par Truc » 14 mai 2006, 17:23

tu peut t'y prendre autrement avec plus de facilité:
$tab_mot_cle=array();
while($data = mysql_fetch_assoc($resultat))
{ 
    $tab_mot_cle[$data["id"]]=explode(",",$data["keywords"]); 
}
ensuite tu récupères un tableau ayant comme indice les id des mots clés et comportant un sous tableau avec les mots clés.
Pour appeler le 1er mot clé ayant pour id 1:
$tab_mot_cle[1][0]
Pour appeler le 2eme mot clé ayant pour id 1:
$tab_mot_cle[1][2]
Pour appeler le 1er mot clé ayant pour id 2:
$tab_mot_cle[2][0]
ainsi de suite (ou dans une boucle suivant l'utilisation)

fait un copier coller de ce bout de code à la suite pour te rednre compte de la structure du tableau.
<pre>
<?php 
var_dump($tab_mot_cle);
?>
</pre>

par popi » 14 mai 2006, 12:24

	//$liste = str_replace(",", " ", $formulaire);
	$liste = explode(",", $formulaire);
	$mauxclef= array_unique ($liste);
ok pour la fonction mais çà change pas le résultat ? ou bien j'ai pas tout compris :(

Mon estomac me demande de regarder l'heure :wink: @+

par popi » 14 mai 2006, 12:14

Les "$mauxcles" (ça fait si mal que ça ?), j'adore :langue:
je confirme :D
Explore donc la fonction explode(), pratique pour mettre une chaine de mots séparés par le même signe dans un tableau indexé. ;)

je pars explorer donc, Merci :wink:

par Cyrano » 14 mai 2006, 12:10

Les "$mauxcles" (ça fait si mal que ça ?), j'adore :langue:

Explore donc la fonction explode(), pratique pour mettre une chaine de mots séparés par le même signe dans un tableau indexé. ;)

par popi » 14 mai 2006, 11:49

bon, j'en suis là :
	while($data = mysql_fetch_assoc($resultat)){
		$formulaire.= $data["keywords"].",";	
		$pagge[].= $data["tag"];
		$trace[].= $data["id"];
	}  
	$liste = str_replace(",", " ", $formulaire);
	$mauxclef= str_word_count($liste, 1);
	$mauxclef= array_unique ($mauxclef);

	foreach($mauxclef as $key => $motkle){
		echo "id=".$trace[$key]." page=".$pagge[$key]." mot-clé= ".$motkle."<br>";
	}
ce qui donne çà :

Code : Tout sélectionner

id=1 page=HjkjlkjI mot-clé= machi id=2 page=BouTic mot-clé= gogo id=3 page=LiRe mot-clé= excel id=4 page=BalloT mot-clé= bidule id=5 page=SuiTe mot-clé= test id=7 page=AazzaR mot-clé= la id=8 page=BesTkA mot-clé= cest id=9 page=BibIpaGe mot-clé= bon id= page= mot-clé= vba id= page= mot-clé= truc id= page= mot-clé= formulaire id= page= mot-clé= bien id= page= mot-clé= entendu id= page= mot-clé= quoi id= page= mot-clé= et id= page= mot-clé= faim id= page= mot-clé= pic id= page= mot-clé= samson id= page= mot-clé= dalila
c'est pas encore çà je continue donc à chercher :)