Amery

  • Nombre de sujets
    28
  • Nombre de messages
    137
  • Nombre de commentaires
    1
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

Amery
le 25/03/2010 à 08:19
Exécuter un lien sous conditions
non...

le code qui fait l'affaire si tu veux rediriger le visiteur vers une autre page, c'est juste :

<?php
header('Location : mapage.php');
exit();
?>


Pas besoin de balise <a href=...>.

Mais je pense que pour ce que tu veux faire, il faut utiliser du javascript, et là, je m'y connais pas bien... Va peut-être voir sur des sites spécialisés javascript.
Amery
le 24/03/2010 à 13:07
Exécuter un lien sous conditions
Si je comprends bien (pas sûr smiley), tu veux rediriger le visiteur vers une autre page? Dans ce cas, il faut utiliser la fonction header :

<?php
if($a == 1)
{
header('Location: mapage.php');
exit(); // Pour mettre fin à l'exécution du script
}
else
{
print("$a n’est pas bon !");
}
?>


Par contre, si tu veux ouvrir une fenêtre supplémentaire, là il faut passer par du javascript, mais c'est pas mon dada...
Amery
le 23/03/2010 à 14:25
Aide pour agencer les tables de ma BDD
Une idée serait de créer une table principale "articles" contenant les articles de presse avec tous les champs décrivant l'article : id, titre, contenu, auteur, date, catégorie, etc.

Ensuite, une table supplémentaire "tags" avec 2 champs : "tag" et "article_id".

A l'insertion d'un article, tu insers autant de tags que tu souhaites en indiquant à chaque insertion le couple (tag,article_id), où "tag" peut être ce que tu veux : France, Nicolas Sarkozy, etc.

Ensuite, lorsqu'on lance une recherche, il suffit de faire la recherche par mot clé uniquement dans la table "tags" et de récupérer l'article_id correspondant...

Ca te permettrait aussi de faire un nuage de tags comme on en voit beaucoup.

Voilà un début de structure...
Amery
le 22/03/2010 à 11:49
Plusieures requetes
Perso, je supprimerais tes 2 tables link_statut et link_communes et je rajouterais 2 champs "statut_id" et "commune_id" à la table principale "biens". A partir de là, c'est plus simple pour faire des jointures entre tes tables.

C'est un peu superflu de créer des tables juste pour faire des jointures.

Ensuite, il suffit de faire des JOIN ON sur les tables à lier:

<?php
SELECT id_biens FROM biens
JOIN communes ON communes.id_commune=1
JOIN status ON statut_bien.id_statut=2
?>
Amery
le 18/03/2010 à 11:30
Question sur <Comment compter le nombre de connectés>
En local, sans modifier le script proposé sur le site, ce n'est pas possible.

Mais tu peux modifier l'info que tu stockes dans ta base pour identifier le visiteur, comme la session à la place de l'IP, ou même les deux.

Pour avoir deux sessions différentes, il faut utiliser deux navigateurs différents IE, Firefox, Safari, etc. Si tu ouvres deux fenêtres du même navigateur, tu seras lié à la session...
Amery
le 18/03/2010 à 09:06
Numéroter les enregistrements d'une BD à l'affichage
Il faut tenir compte du nombre d'enregistrements que tu affiches par page.
Par exemple, si tu veux afficher 15 enregistrements par page.

<?php
$NbpPage = 15;
$i = (intval($_GET['page'])*$NbpPage)-$NbpPage;

echo '<table>';
while ($data = mysql_fetch_array($result))
{
echo '<tr>';
echo '<td>'.++$i.'</td>';
echo '<td>'.data['date_vst'].'</td>';
echo '</tr>';
}
echo '</table>';
?>


Et $page est une variable que tu passes dans tes liens pour passer de page en page :

<?php
mapage.php?page=3
?>
Amery
le 16/03/2010 à 08:58
Comment paginer les données récupérées avec un $_GET passé en paramètre ?
Il sutffit de rajouter dans les liens existants la valeur de ta variable $ananas pour la faire passer de page en page:

<?php
if ($NumRows > NB_PAR_PAGE)
{
if ($page > 1)
{echo '<a href="'.basename(__FILE__).'?page='.($page - 1).'&ananas=valeur"><img src="GaucheActif.png" width="18" height="18" border="0"></a>';}
else echo '<img src="GaucheNonActif.png" width="18" height="18" border="0">';

if ($page < $derniere_page)
{echo '<a href="'.basename(__FILE__).'?page='.($page + 1).'&ananas=valeur"><img src="DroitActif.png" width="18" height="18" border="0"></a>';}
else echo '<img src="DroitNonActif.png" width="18" height="18" border="0">';
}
?>


Pour mysql_real_escape_string sert à éviter les injections sql en protégeant les caractères spéciaux. Un petit lien qui explique ça très bien : http://www.ghostsinthestack.org/article-8-les-bases-des-injections-sql.html.

Donc, ta requête devient :
<?php 
$sql = 'SELECT fruit FROM panier WHERE nom = "'.mysql_real_escape_string($_GET['ananas']).'"';
?>
LoadingChargement en cours