Afficher des vidéos relatives en fonction du titre

17 messages · 13 vues

Re: Afficher des vidéos relatives en fonction du titre

gamaniak » ven. 6 juin 2008 00:24 #1684

Code: Select all
<?php

$titre = 'Une danse vraiment incroyable dans une émission US';
$chaine = explode(" ", $titre);
$nb_mot = count($chaine);
$sql = '';
for ($i = 0 ; $i <= $nb_mot ; $i++)
{
if ( strlen($chaine[$i]) > 3)
{
$sql .= "`titre` LIKE '%$chaine[$i]%' OR";
}
}

$sql = substr($sql, 0, -2);
mysql_query('SELECT * FROM videos WHERE '.$sql.' LIMIT 0,5');
?>
Membre
Messages : 68
Inscription : 28 mai 2008

Re: Afficher des vidéos relatives en fonction du titre

Dino » ven. 6 juin 2008 08:02 #1700

Mmmmhhhhh, le bon codage a l'arrache ! miam miam !

Code: Select all
<?php

$titre = 'Une danse vraiment incroyable dans une émission US';
$chaine = split(" ;.-", $titre); // et pleins d'autres caractères séparateurs
$nb_mot = count($chaine);
$sql = 'SELECT * FROM videos WHERE 1';
for ($i = 0 ; $i <= $nb_mot ; $i++)
{
if ( strlen($chaine[$i]) > 3)
{
if($j > 0)
$sql .= ' OR';

$sql .= " `titre` LIKE '%$chaine[$i]%'";
$j++;
}
}

mysql_query($sql.' LIMIT 0,5');
?>


Au moins ca marche dans tout les cas de figure sans planter.
Pensez a utiliser un FOREACH plutot qu'un FOR lorsqu'il s'agit de parcourir un tableau.
Membre
Messages : 337
Inscription : 21 mai 2008

Re: Afficher des vidéos relatives en fonction du titre

gamaniak » ven. 6 juin 2008 11:36 #1701

Dino wrote:Mmmmhhhhh, le bon codage a l'arrache ! miam miam !

Ben oui, c'était pas pour ma pomme hein.. j'ai fait un truc vite fait, et en plus il était tard.
Et ça revient presque au même, ce n'est pas parce que c'est pas optimisé que ça ne fonctionne pas, je le trouve bien moi :p
(Allez, on va se lancer dans un débat pour savoir celui qui code le mieux )
Membre
Messages : 68
Inscription : 28 mai 2008

Re: Afficher des vidéos relatives en fonction du titre

Jeremie » ven. 6 juin 2008 12:04 #1704

Hey ami programeur !

Bon ba je sais que c'est pas cool de demander de finir le script ( mais au moin il sera libre )

Vraiment j'arrive pas a classer après si deux ou trois mots sont commun les afficher avant que si un mot est en commun ...

Pouvez vous m'aider ?
Membre
Messages : 107
Inscription : 25 mai 2008

Re: Afficher des vidéos relatives en fonction du titre

Dino » ven. 6 juin 2008 12:25 #1714

gamaniak wrote:Et ça revient presque au même, ce n'est pas parce que c'est pas optimisé que ça ne fonctionne pas, je le trouve bien moi


Sauf qu'il ne marche pas. S'il n'y a aucun mot de plus de 3 lettres dans le titre ton truc plante lamentablement.

Jeremie wrote:Hey ami programeur !

Bon ba je sais que c'est pas cool de demander de finir le script ( mais au moin il sera libre )

Vraiment j'arrive pas a classer après si deux ou trois mots sont commun les afficher avant que si un mot est en commun ...

Pouvez vous m'aider ?


Tu comptes le nombre de mot pour chaque résultat.
Tu stockes ton résultat dans un tableau avec comme clé le ID de ta video et comme valeur le nombre de mot.
Tu fais le sort() qui va bien.
Et voilou.

Et cherche un petit peu maintenant : www.php.net est ton ami.
Membre
Messages : 337
Inscription : 21 mai 2008

Re: Afficher des vidéos relatives en fonction du titre

Jeremie » ven. 6 juin 2008 20:03 #1715

Salut Dino,

J'ai bientôt fini le script il y a un dernier probleme !

Ton script Dino, il me sort des résultats avec aucun terme en commun.
Exemple :
Un mannequin traverse le podium dans un défilé
Il me sort :
Danse japonaise
Membre
Messages : 107
Inscription : 25 mai 2008

Re: Afficher des vidéos relatives en fonction du titre

Dino » ven. 6 juin 2008 21:32 #11997

Code: Select all
<?php

$titre = 'Une danse vraiment incroyable dans une émission US';
$chaine = split(" ;.-", $titre); // et pleins d'autres caractères séparateurs
$nb_mot = count($chaine);
$sql = 'SELECT * FROM videos';
for ($i = 0 ; $i <= $nb_mot ; $i++)
{
if ( strlen($chaine[$i]) > 3)
{
if($j > 0)
$sql .= ' OR';
else
$sql = ' WHERE';

$sql .= " `titre` LIKE '%$chaine[$i]%'";
$j++;
}
}

mysql_query($sql.' LIMIT 0,5');
?>
Membre
Messages : 337
Inscription : 21 mai 2008