Forum Clubic

[résolu][sql]affichage select max(id) from texte - Fini mes problèmes d'indexation

Coucou les gens!!!!!
En faite, voilà, j’ai


function GetMaxIDTexte()
  {
  	$req="SELECT MAX(ID) FROM texte";
  	$ligne=mysql_query($req);
  	return $ligne;
  }
  
                MAX_CONTENU=GetMaxIDTexte();
  echo "<br>".$MAX_CONTENU;

et voilà ce que a m’affiche

Resource id #4

alors que c’est sensé me mettre 6 (oui parce que j’ai 6 ID pour le moment)!!
que veut dire le Resource id #4???
Merci de vos réponses à venir!!!

Fait un tour sur la doc merci :slight_smile: Genre à mysql_fetch_array.

(parce que là, c’est normal… mysql_query renvoie une ressource te permettant de récupérer via mysql_fetch_array le résultat de la requête)

mysql_fetch_assoc() est plus performant parraît-il :o

Si c’est pas beaucoup plus lent que mysql_fetch_row, tu penses que ça l’est beaucoup plus que mysql_fetch_assoc() ?

Pis d’ailleurs, mysql_fetch_assoc(), c’est juste mysql_fetch_array() avec la bonne constante en paramètre :stuck_out_tongue:

Pour ceux que ça interesse, j’ai enfin résolu TOUS mes problèmes d’indexation pour le futur moteur de recherche que je suis en train d’effectuer pour mon stage!! voici mon code


<html?gt;
<head>

      <title>Indexation</title>

</head>

<body>


<form action="indexation.php" method="post" enctype="multipart/form-data">
  <p>Fichier a indexer : </p>
  <input type="file" size=50 name="fichier" accept="text/*"><br>
  <input type="hidden" name="envoie" value="1">
  <input type="submit" value="envoyer">
	</form>
<?	
	set_time_limit(60); //augmentation du temps maximal d\'exécution (optionnel)
require("connect.php");

	
if((isset($_POST['envoie']))&&($_POST['envoie']=='1'))
{
	if($CONNEXION)
	{
// indexation contenu
  function noaccents ($chaine) //fonction qui remplace les lettres à accent par celles sans!!!
  {
  	$a = "àáâãäåòóôõöøèéêëçìíîïùúûüÿñ";
  	$b = "aaaaaaooooooeeeeciiiiuuuuyn";
  	return (strtr($chaine, $a, $b));//remplace les caractère d"une chaine par une autre
  }
  $url = $_FILES['fichier']['name'];
  $contenu =implode('', file($url));//recupere tt le contenu
  $search = array('#(\<h[1-6]\>(.+)\<\/h[1-6]\>)+#', '#(\<title\>(.+)\<\/title\>)+#','#\\r#','#\\n#');
  $replace = array('','',' ','');
  $contenu1=preg_replace($search,$replace,$contenu);//remplace les balises h1-h6 et titre par rien!
  $contenu1 = strip_tags($contenu1);//supprime les balises html
  $contenu1 = noaccents($contenu1);//ôte les accents
  eregi("<title>(.*)</title>",$contenu,$regs);//récupère le titre $regs[1]
  if (preg_match_all('#(\<h[1-6]\>(.+)\<\/h[1-6]\>)+#', $contenu, $reg2))//récupère le contenu de h1 à h6
  {
  	$count=count($reg2[0]);
  	$h2="";
  	for($i=0;$i<$count;$i++)
  	{ 
    $h2=$h2." ".$reg2[0][$i].".";
    $h2=strtolower(strip_tags($h2));  
  	}
  }
  $tags = get_meta_tags($url);//récupère les meta tags du fichier passé en paramètre
  $tag_keyword = $tags['keywords'];//recupère le contenu de <meta name=keywords>...
  echo $contenu1;
  //gestion dans la base de donnée du contenu
	
  $req="INSERT INTO texte (url, contenu,titre,h1h6,metakeywords) VALUES ( '".$url."','".mysql_real_escape_string($contenu1)."','".mysql_real_escape_string($regs[1])."','".mysql_real_escape_string($h2)."','".mysql_real_escape_string($tag_keyword)."')";//range l'url, le contenu sans balise, le titre et les mots clés dans la base de donnée
  $result=mysql_query($req,$CONNEXION);
  if($result)//vérifie si la requête a été éffectué et affiche un message
  {
  	echo "<br>enregistrement pris en compte";
  }
  else
  {
  	echo "<br>recommencer, erreur dans l' enregistrement";
  }
  
  function delimiteurs($chaine)
  {
  	$a = ".!?,:;« »'`(){}[]%\/ ’–©-";
  	$b = "                         ";
  	return (strtr($chaine, $a, $b));//remplace les caractère d"une chaine par une autre
  }
  //indexation mot par mot
  
  $contenu1= delimiteurs($contenu1);
  $contenu1 = strtolower($contenu1);
	
  $ChaineVide="";
  $sql="SELECT mot_vide FROM mots_vide";
  $curseur = mysql_query($sql);
  $motVide = mysql_fetch_array($curseur);
  while($motVide)
  {
  	$ChaineVide.=" ".$motVide[0];
  	$motVide=mysql_fetch_array($curseur);
  }
  

	
  $les_mots = explode(" ",$contenu1);
  sort($les_mots); //les mots du contenu par ordre alphabétique
  $nb_mots = count($les_mots);
  
  $poids=1;
  for ($i=0;$i<$nb_mots;$i++)
  {
  	$pos = strpos($ChaineVide, $les_mots[$i]);
  	if(($pos === false) && (strlen($les_mots[$i])>2))
  	{
    if ($dernier==$les_mots[$i])
    {
    	$poids++;
    }
    else
    {
    	$mots_tries[$dernier]=$poids;
    	//echo "<br>".$dernier." ".$poids;
    	$poids=1;
    	$dernier=$les_mots[$i];
    }
  	}
  }	

  $regs[1] = strtolower($regs[1]);
  $regs[1]= delimiteurs($regs[1]);
  $regs[1] = noaccents($regs[1]);
  $titre = explode(" ",$regs[1]);
  $nb_titre = count($titre);
  for ($i=0;$i<$nb_titre;$i++)
  {	
  	$mottitre = $titre[$i];
  	$pos = strpos($ChaineVide, $mottitre);
  	if(($pos === false) && (strlen($mottitre)>2))
  	{
    if (isset($mots_tries[$mottitre]))
    {
    	$mots_tries[$mottitre]+=10;
    }
    else
    {
    	$mots_tries[$mottitre]=10;
    }
  	}
  }	
	
  $h2 = strtolower($h2);
  $h2 = delimiteurs($h2);
  $h2 = noaccents($h2);
  $soustitre = explode(" ",$h2);
  $nb_soustitre = count($soustitre);
  for ($i=0;$i<$nb_soustitre;$i++)
  {	
  	$motsoustitre = $soustitre[$i];
  	$pos = strpos($ChaineVide, $motsoustitre);
  	if(($pos === false) && (strlen($motsoustitre)>2))
  	{
    if (isset($mots_tries[$motsoustitre]))
    {
    	$mots_tries[$motsoustitre]+=5;
    }
    else
    {
    	$mots_tries[$motsoustitre]=5;
    }
  	}
  }
  $tag_keyword = strtolower($tag_keyword);
  $tag_keyword = delimiteurs($tag_keyword);
  $tag_keyword = noaccents($tag_keyword);
  $keyword = explode(" ",$tag_keyword);
  $nb_keyword = count($keyword);
  for ($i=0;$i<$nb_keyword;$i++)
  {	
  	$motkeyword = $keyword[$i];
  	$pos = strpos($ChaineVide, $motkeyword);
  	if(($pos === false) && (strlen($motkeyword)>2))
  	{
    if (isset($mots_tries[$motkeyword]))
    {
    	$mots_tries[$motkeyword]+=2;
    }
    else
    {
    	$mots_tries[$motkeyword]=2;
    }
  	}
  }
  
  $req="SELECT MAX(ID) FROM texte";
  $ligne=mysql_query($req);
  $MAX_CONTENU= mysql_fetch_array($ligne);
  
  for ($i=0;$i<count($mots_tries);$i++)
  {
  	$value=current($mots_tries);
  	$key=key($mots_tries);
  	$sql="INSERT INTO mot (ID_TEXTE,Libelle, Poids) VALUES ('".$MAX_CONTENU[0]."','".$key."','".$value."')";
  	$result=mysql_query($sql,$CONNEXION);
  	if($result)//vérifie si la requête a été éffectué et affiche un message
  	{
    echo "<br>enregistrement pris en compte";
  	}
  	else
  	{
    echo "<br>recommencer, erreur dans l' enregistrement";
  	}
  	next($mots_tries);
  }
	}
}
mysql_close($CONNEXION);
?>
</body>

</html?gt;

J’avoue il est long, mais il est simple, et pour le moment, il ne présente aucune faille.si question, je suis à disposition