Portail PHP

Forum de discussion et d'aide au php

Vous n'êtes pas identifié.

Annonce

Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides.
FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans.
Proposez vos news : si vous avez un evenement à annoncer
le chat : venez discuter de php.
 

#1 05-02-2005 14:13:04

willorp
Membre
Date d'inscription: 05-02-2005
Messages: 23

Limite de nombre

Bonjour,

  Je vient de mettre sur mon site un code pour inscrire les mots clés taper, pouvez me dire comment faire pour les limiter a 5?

Merci

Hors ligne

 

#2 05-02-2005 17:39:53

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: Limite de nombre

si c'est un input, tu peux définir un nombre de caracteres maximum avec l'option maxlength.
mais, pour définir le nombre de mots, ce que je ferai, c'est un explode que les expaces : $var = explode(" ", $var);
puis, tu compte le nombre d'entrées avec sizeof($var);
et la, tu a ton nombre de mots  wink

Hors ligne

 

#3 09-02-2005 02:31:47

willorp
Membre
Date d'inscription: 05-02-2005
Messages: 23

Re: Limite de nombre

Non ce n'est pas un INPUT, j' ai créer une table sur phpmyadmin qui enrgistre tout les mots cherchés dans mon moteur.

Puis sur ma page, j' ai insérer ça pour afficher les mots:


<?php
// on se connecte à MySQL
$db = mysql_connect('localhost', 'xh132690', 'uLiHH');

// on sélectionne la base
mysql_select_db('xh132690',$db);

// on crée la requête SQL
$sql = 'SELECT mots FROM k_search';

// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
    {
    // on affiche les informations de l'enregistrement en cours
    echo '<b>'.$data,$limit=5 ['mots'].' <br>';
    }

// on ferme la connexion à mysql
mysql_close();
?>

Mais je ne sais pas ou faire la modif, tout mes éssais sont mauvais.

Est que c' est possible?
Merci

Hors ligne

 

#4 09-02-2005 05:59:07

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: Limite de nombre

dans ce cas la, mon coup de l'explode expliqué au dessus est toujours valable wink

Hors ligne

 

#5 09-02-2005 12:26:09

Guest
Membre
Date d'inscription: 26-06-2004
Messages: 15
Site web

Re: Limite de nombre

Tu vas me dire que je suis super nul, mais j'arrive pas a le faire.

J' ai enlever

,$limit=5 ['mots']

dans la partie affichage des infos de l'enregistrement, car i me donnais un méssage d'erreur.

Mais pour l'explode je dois faire comment?, je ne vois pas!

Merci

Hors ligne

 

#6 09-02-2005 13:47:13

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: Limite de nombre

Code:

$data = explode(" ", $data);
$f = 0;
while ($f <= 5) {
$f++;
$data2 .= $data[$f];
}

echo $data2;

voila wink

Hors ligne

 

#7 09-02-2005 15:00:35

willorp
Membre
Date d'inscription: 05-02-2005
Messages: 23

Re: Limite de nombre

J'ai bien placé ton code mais les mots ne sont pas limités j'i toujours tout les mots qui apparaisse, il faut en plus de ton code rajouter autre chose ou ça devrait fonctionner comme ça?

Hors ligne

 

#8 09-02-2005 15:38:49

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: Limite de nombre

et apres dans ton tableau, tu affiche bien $data2 ?

Hors ligne

 

#9 10-02-2005 04:54:03

willorp
Membre
Date d'inscription: 05-02-2005
Messages: 23

Re: Limite de nombre

Mince les mots ne s'affiche plus sad

Pour récapiuler j' ai:

Une table "k_search" avec 2 champs"id et mots" ou sont enregistrer les mots.

Les mots sont bien enregistrers. Jusque là ça va.

Ensuite je veux les faire apparitre sur ma page, pour cela j'ai mis:



<?php

// on se connecte à MySQL
$db = mysql_connect('localhost', 'xh132690', 'uLiHH');

// on sélectionne la base
mysql_select_db('xh132690',$db);

$data = explode(" ", $data);
$f = 0;
while ($f <= 5) {
$f++;
$data2 .= $data[$f];
}

echo $data2;

// on crée la requête SQL
$sql = 'SELECT mots FROM k_search';

// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());


// on fait une boucle qui va faire un tour pour chaque enregistrement

    {
    // on affiche les informations de l'enregistrement en cours
    while($data = mysql_fetch_assoc($req))

    echo '<b>'.$data2['mots'].' <br>';
    }

// on ferme la connexion à mysql
mysql_close();
?>

Mais ça n'affiche rien, je suis vraiment perdu. Tu vois d'ou ça vient?

Hors ligne

 

#10 10-02-2005 05:42:36

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: Limite de nombre

bon bon bon...
on va faire différemment

Code:

function limitew($data, $l = 5) {
$data = explode(" ", $data);
$f = 0;
while ($f <= $l) {
$f++;
$data2 .= $data[$f];
}

return $data2;
}

voila, tu mets ca au début de ton code
et ta ligne

Code:

 echo '<b>'.$data2['mots'].' <br>';

tu la remplace par :

Code:

 echo '<b>'.limitew($data['mots']).' <br>';

ca devrait fonctionner wink

Hors ligne

 

#11 10-02-2005 07:43:28

willorp
Membre
Date d'inscription: 05-02-2005
Messages: 23

Re: Limite de nombre

Voila ce que j'ai mit:


<?php
    function limitew($data, $l = 5) {
$data = explode(" ", $data);
$f = 0;
while ($f <= $l) {
$f++;
$data2 .= $data[$f];
}

return $data2;
}
// on se connecte à MySQL
$db = mysql_connect('localhost', 'xh132690', 'uLiHH');

// on sélectionne la base
mysql_select_db('xh132690',$db);



// on crée la requête SQL
$sql = 'SELECT mots FROM k_search';

// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());


// on fait une boucle qui va faire un tour pour chaque enregistrement

    {
    // on affiche les informations de l'enregistrement en cours
   
    while($data = mysql_fetch_assoc($req))

    echo '<b>'.limitew($data['mots']).' <br>';
    }

// on ferme la connexion à mysql
mysql_close();
?>

C'est comme tu ma dit, je ne me suis pas trompé?

Mais il n'y a rien qui s'affiche, la page reste blanche.

Hors ligne

 

#12 10-02-2005 07:58:01

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: Limite de nombre

y'avait quelques petits oublis ds la fonction

Code:

 function limitew($data, $l = 5) {
$data = explode(" ", $data);
$f = 0;
while ($f < $l) {
$data2 .= $data[$f]." ";
$f++;
}

return $data2;
}

et je viens de tester. si ta variable est correctement définie, il n'y a aucun probleme avec cette fonction wink

Hors ligne

 

#13 10-02-2005 08:21:59

willorp
Membre
Date d'inscription: 05-02-2005
Messages: 23

Re: Limite de nombre

Toujours feuille blanche, ça doit peut être venir de mon code installé sur la page du moteur de recherche. Tant pis.


Je te remercie de ton aide

@+

Hors ligne