probleme fichier

Eléphant du PHP | 58 Messages

28 oct. 2009, 19:54

Bonjour,
Pour mon site sur la musique, j'ai une page concerts qui affichent tout les concerts que j'ai ecrit, et j'ai un champs "reservation", et enfaite, je voulais au lieu de remplir cet champs a chaque fois, il rempli automatiquement et une fois cliquer dessus il soit redirigé vers la page de l'artiste concerné dans un site de reservation...

voici une exemple, de ce que je veux faire:
sur la page concerts.php, j'ai rajouté le concert d'Akon (par exemple) et voici la page conerts.

nom: akon / date: 28/10 / ... / reservation: zenith (la quand on clique sur zenith, je veux etre redirigé, vers la page zenith d'akon, pour un autre artiste, la page zenith de cet artiste etc...)

Mais je ne sais pas comment faire exactement, pourriez vous m'expliquer a faire ca? je vous envoye le code de la page concert
<?php
include("./includes/haut.php");

?>

<div id="concert">
<?php
mysql_connect"", "", "");
mysql_select_db("");
?>
<p>
<?php
echo "<table>
         <tr>
             <th>Nom de l'artiste : </th>
	     <th>Date : </th>
	     <th>ville : </th>
	     <th>Tarif : </th>
	     <th>reservation : </th>
        </tr>";

$requete="SELECT * FROM concert";
$result=mysql_query($requete);
while($concert=mysql_fetch_array($result)) {
     
      echo "<tr>
                <td>".$concert['nom']. "</td>
	        <td>".$concert['date']."</td>
	        <td>".$concert['ville']."</td>
	        <td>".$concert['tarif']."</td>
	        <td>" .$concert['reservation']."</td>
           </tr>";
}
echo "</table>";

?>



</p> 
</div>

<?php     
include("./includes/bas.php");
?>


Je vous remercie par avance pour votre aide

Mammouth du PHP | 985 Messages

28 oct. 2009, 20:18

En créant un lien avec les variables.
Donc si j'ai bien compris:
$concert['nom'] = le nom de l'artiste
$concert['reservation'] = le nom du concert
Exemple:
// conversion du nom et de la réservation en minuscules.
$artiste = (isset($concert['nom'])) ? strtolower($concert['nom']) : null;
$reserv = (isset($concert['reservation'])) ? strtolower($concert['reservation']) : null;

// création du lien
$page_reserv = '<a href="http://www.ton_site.com/' . $artiste . '/' . $reserv . '/">' . $concert['reservation'] . '</a>';
echo $page_reserv;
Donc si:
$concert['nom'] = Akon et que $concert['reservation'] = Zenith

Cela va créer le lien:
<a href="http://www.ton_site.com/akon/zenith/">Zenih</a>
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

Eléphant du PHP | 58 Messages

28 oct. 2009, 21:48

la, je n'ai pas tres bien compris, desolé.

le code qu tu m'as expliqué, je dois mettre a la fin:
artiste = (isset($concert['nom'])) ? strtolower($concert['nom']) : null;
$reserv = (isset($concert['reservation'])) ? strtolower($concert['reservation']) : null;

// création du lien
$page_reserv = '<a href="http://www.ton_site.com/' . $artiste . '/' . $reserv . '/">' . $concert['reservation'] . '</a>';
echo $page_reserv;


c'est bien ca, ou ...?

Mammouth du PHP | 985 Messages

28 oct. 2009, 21:57

echo "<tr>
                <td>".$concert['nom']. "</td>
                <td>".$concert['date']."</td>
                <td>".$concert['ville']."</td>
                <td>".$concert['tarif']."</td>
                <td>" .$concert['reservation']."</td>
           </tr>";

// <- par exemple ici

}
echo "</table>";
donc:
<?php
include("./includes/haut.php");
?>
<div id="concert">
<?php
mysql_connect"", "", "");
mysql_select_db("");
?>
<p>
<?php
echo "<table>
         <tr>
             <th>Nom de l'artiste : </th>
             <th>Date : </th>
             <th>ville : </th>
             <th>Tarif : </th>
             <th>reservation : </th>
        </tr>";

$requete="SELECT * FROM concert";
$result=mysql_query($requete);
while($concert=mysql_fetch_array($result)) {
     
      echo "<tr>
                <td>".$concert['nom']. "</td>
                <td>".$concert['date']."</td>
                <td>".$concert['ville']."</td>
                <td>".$concert['tarif']."</td>
                <td>" .$concert['reservation']."</td>
           </tr>";

// conversion du nom et de la réservation en minuscules.
$artiste = (isset($concert['nom'])) ? strtolower($concert['nom']) : null;
$reserv = (isset($concert['reservation'])) ? strtolower($concert['reservation']) : null;

// création du lien
$page_reserv = '<a href="http://' . $_SERVER["HTTP_HOST"]  . '/' . $artiste . '/' . $reserv . '/">' . $concert['reservation'] . '</a>';

// affichage du lien
echo $page_reserv;
}
echo "</table>";
?>
</p></div>
<?php    
include("./includes/bas.php");
?>
Mais a toi ensuite d'adapter l'url qui correspond à ton site et de choisir l'emplacement du lien suivant la mise en page que tu veux au final..
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

Eléphant du PHP | 58 Messages

28 oct. 2009, 22:24

ici:
$page_reserv = '<a href="http://' . $_SERVER["HTTP_HOST"]  . '/' . $artiste . '/' . $reserv . '/">' . $concert['reservation'] . '</a>'


je dois modifié le http://zenith.fr par exemple
et je dois aussi modifié ca: $_SERVER["HTTP_HOST"]

c'est bien ca?

Mammouth du PHP | 985 Messages

28 oct. 2009, 22:30

Non, car $_SERVER["HTTP_HOST"] -> renvoie l'adresse de ton serveur, donc ca c bon (laisse le).
(Enfin si, bien-sur, le lien doit pointer sur une page hébergée par ton site)

L'url, ensuite, est construite suivant le nom de l'artiste et de la réservation.
Ne sachant pas ou sont tes pages -> je ne pouvais faire mieux...

Test le script et étudie le un peu.

Par exemple, il faudra peut-être ajouter un répertoire ou le nom d'une page en particulier pour que cela tombe exactement sur la page voulue...
Ou tu créé les répertoires tels qu'ils apparaissent dans l'url....

Logiquement, tu as tous les éléments pour t'en sortir :wink:
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

Eléphant du PHP | 58 Messages

28 oct. 2009, 22:49

merci, je vais essayer de le faire, je te tiens au courant

Eléphant du PHP | 58 Messages

28 oct. 2009, 23:30

Non, je n'arrive pas du tout.

quand je rempli le champ reservation, et quand je clique dessus, je suis redirigé vers une page qui n'existe pas, il faut que je creer une repertoire, mais je ne comprends...

si non je vais laisser comme ca, je remplirai a chaque fois.