Problème avec if / else et regex
Fermé
dj-69400
Messages postés
34
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
16 juin 2011
-
16 nov. 2008 à 17:08
dj-69400 Messages postés 34 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 16 juin 2011 - 22 nov. 2008 à 18:36
dj-69400 Messages postés 34 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 16 juin 2011 - 22 nov. 2008 à 18:36
A voir également:
- Problème avec if / else et regex
- If exist - Forum Programmation
- Regex tabulation ✓ - Forum Programmation
- {Batch} IF NOT EXIST <mon folder> ne fonctionne pas ✓ - Forum Autoit / batch
- Date if en francais excel - Forum Programmation
- Bios has been reset please reconfigure a bios setup items if needed - Forum BIOS
6 réponses
zoby44
Messages postés
818
Date d'inscription
vendredi 3 novembre 2006
Statut
Membre
Dernière intervention
7 avril 2010
199
16 nov. 2008 à 22:11
16 nov. 2008 à 22:11
Je comprend pas pourquoi tu met une regex dès le début, a ta place, je mettrais juste :
$sql = mysql_query(" SELECT * FROM articles WHERE nom='acceuil' ");
WHILE ($donnees = mysql_fetch_array($sql)) // On fait une boucle pour lister les news
{
Reste du code...
}
en même temps, si tu es sur de n'avoir qu'une seule entrée où le nom est "message", tu n'es pas obligé de mettre un WHILE, un IF suffit, sinon si tu veux afficher toutes les entrées où le nom contient "message" tu peux utiliser :
$sql = mysql_query(" SELECT * FROM articles WHERE nom LIKE '%acceuil%' ");
et sinon pour le stripslashes, je croit que tu a oublié les parenthèses, stripslashes($message).
J'espère que ça va pouvoir t'aider un peu.
$sql = mysql_query(" SELECT * FROM articles WHERE nom='acceuil' ");
WHILE ($donnees = mysql_fetch_array($sql)) // On fait une boucle pour lister les news
{
Reste du code...
}
en même temps, si tu es sur de n'avoir qu'une seule entrée où le nom est "message", tu n'es pas obligé de mettre un WHILE, un IF suffit, sinon si tu veux afficher toutes les entrées où le nom contient "message" tu peux utiliser :
$sql = mysql_query(" SELECT * FROM articles WHERE nom LIKE '%acceuil%' ");
et sinon pour le stripslashes, je croit que tu a oublié les parenthèses, stripslashes($message).
J'espère que ça va pouvoir t'aider un peu.
dj-69400
Messages postés
34
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
16 juin 2011
3
16 nov. 2008 à 23:41
16 nov. 2008 à 23:41
oki merci je vais essayer sa de suite.
dj-69400
Messages postés
34
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
16 juin 2011
3
16 nov. 2008 à 23:47
16 nov. 2008 à 23:47
en faite tout et liste justement mais en faite des que par exemple dans la bdd il y a pas de d'article dans la categorie choisi ba que sa marque qu'il n'y a pas d'article je sais pas si j'arrive a me faire comprendre
Le nom en faite sa designe la categorie par exemple sur cette page ces l'acceuil du site il y en a d'autre par exemple mes photo ect
Le nom en faite sa designe la categorie par exemple sur cette page ces l'acceuil du site il y en a d'autre par exemple mes photo ect
zoby44
Messages postés
818
Date d'inscription
vendredi 3 novembre 2006
Statut
Membre
Dernière intervention
7 avril 2010
199
17 nov. 2008 à 01:13
17 nov. 2008 à 01:13
J'avoue que je ne comprend pas très bien. Tu as un problème juste sur ta page d'accueil ou pour afficher les autres pages aussi?
En général, quand je fait un site avec plusieurs catégories, je fait 2 bdd,
une pour référencer les catégories, l'autre pour afficher les page.
Exemple :
Structure de la bdd1 (catégorie)
id nom
1 accueil
2 photo
3 news
Structure de la bdd 2 (pages)
id nom id_categorie contenu
1 page1 1 blablabla
2 page2 2 blablabla
3 page3 2 blablabla
4 page4 2 blablabla
5 page5 3 blablabla
6 page6 3 blablabla
Après, je vais chercher dans ma bdd ce que j'ai envie d'afficher :
$sql = mysql_query('SELECT * FROM bdd2 WHERE id_categorie="1"');
WHILE ($data=mysql_fetch_array($sql))
{
echo '<a href="afficherpage.php?id='.$data['id'].'">'.$data['nom'].'</a>',"\n";
}
et sur la page afficherpage.php
$sql=mysql_query('SELECT * FROM bdd2 WHERE id="'.$_GET['id'].'"');
if ($data = mysql_fetch_array($sql))
{
bbcode($data['contenu']);
}
pour ce qui est de ton bbcode, je te conseil d'utiliser une fonction que tu pourras réutiliser sur toutes les pages ou tu en auras besoin.
Si tu veux, envoi la structure de ta bdd et je vais essayer de voir ou viens ton problème.
En général, quand je fait un site avec plusieurs catégories, je fait 2 bdd,
une pour référencer les catégories, l'autre pour afficher les page.
Exemple :
Structure de la bdd1 (catégorie)
id nom
1 accueil
2 photo
3 news
Structure de la bdd 2 (pages)
id nom id_categorie contenu
1 page1 1 blablabla
2 page2 2 blablabla
3 page3 2 blablabla
4 page4 2 blablabla
5 page5 3 blablabla
6 page6 3 blablabla
Après, je vais chercher dans ma bdd ce que j'ai envie d'afficher :
$sql = mysql_query('SELECT * FROM bdd2 WHERE id_categorie="1"');
WHILE ($data=mysql_fetch_array($sql))
{
echo '<a href="afficherpage.php?id='.$data['id'].'">'.$data['nom'].'</a>',"\n";
}
et sur la page afficherpage.php
$sql=mysql_query('SELECT * FROM bdd2 WHERE id="'.$_GET['id'].'"');
if ($data = mysql_fetch_array($sql))
{
bbcode($data['contenu']);
}
pour ce qui est de ton bbcode, je te conseil d'utiliser une fonction que tu pourras réutiliser sur toutes les pages ou tu en auras besoin.
Si tu veux, envoi la structure de ta bdd et je vais essayer de voir ou viens ton problème.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
As-tu penser à vérifier l'orthographe ? Dans la plupart de tes requêtes je vois "Acceuil" et non "Accueil !
Peut-être est-ce pour cela que le script ne trouve rien à affichher ;)
Peut-être est-ce pour cela que le script ne trouve rien à affichher ;)
dj-69400
Messages postés
34
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
16 juin 2011
3
22 nov. 2008 à 18:36
22 nov. 2008 à 18:36
ba en faite voit si un exemple
dans la bdd par exemple il y a un article :
sa va afficher l'article
sa fait donc un truc du genre
ou sinon a l'aide d'une condition et d'un echo dire il n'y a pas d'article dans cette categorie ! revenez plus tard !
if (je sais pas comment faire pour faire une verification de champs dans la BDD
{
[l'article]
}
else (si il n'y a pas d'article dans la BDD, sa m'affiche sa.)
{
echo 'il n'y a pas d'article dans cette categorie ! revenez plus tard !'
}
mais mon probleme ces que je sais pas comment je pourais faire pour verifier si le champs dans la base de donné apeller "nom" j'ai essayer sans regex sa m'affiche mon article mais quand je le met ba sa me dit "il n'y a pas d'article dans cette categorie ! revenez plus tard !" pourtant je n'est pas effacer l'article
j'espere que vous avez une peu mieux compris mon projet
non tkt pas pour les faute ces fait exprés
Desoler pour les faute d'orthographe je suis presser :p
dans la bdd par exemple il y a un article :
sa va afficher l'article
sa fait donc un truc du genre
ou sinon a l'aide d'une condition et d'un echo dire il n'y a pas d'article dans cette categorie ! revenez plus tard !
if (je sais pas comment faire pour faire une verification de champs dans la BDD
{
[l'article]
}
else (si il n'y a pas d'article dans la BDD, sa m'affiche sa.)
{
echo 'il n'y a pas d'article dans cette categorie ! revenez plus tard !'
}
mais mon probleme ces que je sais pas comment je pourais faire pour verifier si le champs dans la base de donné apeller "nom" j'ai essayer sans regex sa m'affiche mon article mais quand je le met ba sa me dit "il n'y a pas d'article dans cette categorie ! revenez plus tard !" pourtant je n'est pas effacer l'article
j'espere que vous avez une peu mieux compris mon projet
non tkt pas pour les faute ces fait exprés
Desoler pour les faute d'orthographe je suis presser :p