integrer une resutat de variable dans une url

Eléphanteau du PHP | 16 Messages

12 nov. 2011, 23:50

Bonsoir a tous,
Voici mon souci, j'ai une base de données dans laquelle je récupére un variable "cb_maclap" pour ensuite l'afficher, jusque la tout va bien, j'ai bien toutes mes entrées affichées et si ma BDD se modifie tout suit bien comme il faut.

Maintenant (et c'est la que je bloque) je voudrais utiliser les resultats en les intégrant dans une url, une url devant être envoyée pour chaque résultat, je ne sais pas si je suis bien clair, un exemple : je lance mon php, il m'affiche ceci :

materiel
rendez-vous
statistiques

Ce sont les 3 entrées actuelles dans ma BDD sous la variable "cb_maclap"
maintenant je voudrais avoir une url comme ceci : "http://monsite/materiel/messagedujour.mp3"
une autre comme ceci : "http://monsite/rendez-vous/messagedujour.mp3"
et une autre comme ceci : "http://monsite/statistiques/messagedujour.mp3"

Je voudrais autant d'url crées que d'entrées lues dans la BDD, comme vous pouvez le voir, il n'y a que cette variable qui change sur l'url, le reste de l'url étant écrite "en dur"

Excusez mon approximation au niveau du language, je suis plutôt habitué a réparer des machines plutôt qu'a faire "tourner" des programmes #-o
Voici le php que j'ai mis en place :
<?php
try
{
    // On se connecte à MySQL
    $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
    $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '', $pdo_options);
    
    // On récupère la liste de fichiers
    $reponse = $bdd->query('SELECT * FROM jos_comprofiler');
    
    // On affiche chaque entrée une à une
    while ($donnees = $reponse->fetch())
    
    {
        echo $donnees['cb_maclap'] . '<br />';
		$mac .= $donnees['cb_maclap'] . '<br />';   
    }

    
    $reponse->closeCursor();
}
catch(Exception $e)
{
    die('Erreur : '.$e->getMessage());
}

	echo $mac;

$url ="http://monsite/$mac/messagedujour.mp3";

echo $url;

?>

Je pense que ce style d'écriture est connu ;-)

Merci d'avance de vos réponses et bon week end a tous ! :D

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

13 nov. 2011, 01:21

salut,


pour que cela se fasse pour chaque élément de la table il faut afficher dans le while
while ($donnees = $reponse->fetch())

{
echo $donnees['cb_maclap'] . '<br />';
echo '<a href="http://monsite/'. $donnees['cb_maclap'] .'/messagedujour.mp3">nom du lien</a><br />';
}

après soit tu a un répertoire physique qui existe pour chaque entrée dans la table (ce qui va vite être le merdier si le nombre devient important ;) )soi tu utilise l'url rewriting le module mod_rewrite d'apache (si tu utilise apache bien sur ;))


@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 16 Messages

13 nov. 2011, 20:23

wouaw moogli !! :shock: =D>
Toujours dispo, net et sans bavure, ton code est juste parfait !

J'avais essayé de faire par moi même mais, je ne sais faire que du "bricolage" et je me rendais bien compte qu'il fallait plus qu'un bricolage pour venir a bout de ce probléme, merci a toi !

Si je peux me permettre d'abuser encore un peu :oops: les liens crées me lisent des MP3, je peux donc maintenant cliquer sur ceux ci (les liens) pour les écouter, maintenant, j'aimerais qu'en activant mon php les liens soient "lus" un a un, sans avoir a cliquer dessus donc :)

PS : c'est clair ! il en faut peu pour être heureux ! :wink:

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

13 nov. 2011, 22:19

Si je peux me permettre d'abuser encore un peu :oops: les liens crées me lisent des MP3, je peux donc maintenant cliquer sur ceux ci (les liens) pour les écouter, maintenant, j'aimerais qu'en activant mon php les liens soient "lus" un a un, sans avoir a cliquer dessus donc :)
la va falloir un player flash (par exemle) ce n'est plus du domaine de php et la pour le coup je ne sais pas faire :)

par contre google te donnera des infos je pense ;)
PS : c'est clair ! il en faut peu pour être heureux ! :wink:
ho oui une crêpes poire chocolat et noix de coco et c'est la paradis :mrgreen: :mrgreen:

oui bon je m'égare ^^

@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 16 Messages

14 nov. 2011, 22:41

Si je peux me permettre d'abuser encore un peu :oops: les liens crées me lisent des MP3, je peux donc maintenant cliquer sur ceux ci (les liens) pour les écouter, maintenant, j'aimerais qu'en activant mon php les liens soient "lus" un a un, sans avoir a cliquer dessus donc :)
la va falloir un player flash (par exemle) ce n'est plus du domaine de php et la pour le coup je ne sais pas faire :)

par contre google te donnera des infos je pense ;)
Merci merci pour l'info flash player ! :D je vais creuser la question....

En attendant, je poste le fichier modifié avec ton code et auquel j'ai encore apporté une petite modification qui permet que le nom du lien soit en rapport direct avec le résultat de la $appelée, une fois compris, j'ai juste réutilisé le code que tu m'as donné :D . En espérant que ca pourra aider et merci a toi encore une fois ! =D>
<?php
try
{
    // On se connecte à MySQL
    $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
    $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '', $pdo_options);
    
    // On récupère la liste de fichiers
    $reponse = $bdd->query('SELECT * FROM jos_comprofiler');
    
    // On affiche chaque entrée une à une
   while ($donnees = $reponse->fetch())

{
$donnees['cb_maclap'] . '';
echo '<a href="http://monsite/'. $donnees['cb_maclap'] .'/messagedujour.mp3">lien'. $donnees['cb_maclap'] .'</a>';

}

    
    $reponse->closeCursor();
}
catch(Exception $e)
{
    die('Erreur : '.$e->getMessage());
}


?>