php mysql si la ligne est vide et si n'est pas vide
Code:
$Username = $_SESSION['VALID_USER_ID'];
$q = mysql_query("SELECT * FROM `article_table`
WHERE `Username` = '$Username'
ORDER BY `id` DESC");
while($db = mysql_fetch_array($q)) { ?>
<?php if(!isset($db['article'] && $db['subject'])) {
echo "Your articles";
} else {
echo "You have no articles added!";
} ?>
<?php } ?>
Donc je veux les lignes par exemple(db['article']
et $db['subject']
) à partir d'un nom d'utilisateur spécifique (voir: $Username = $_SESSION['VALID_USER_ID'];
) à l'écho de l'information s'est pas vide sinon si est vide d'écho par exemple "Vous n'avez pas d'articles ajoutés!"
Si certaines informations dans les lignes de code fonctionne, l'écho de l'information, MAIS si les lignes vides ne sont pas l'écho de rien, le code doit echo "Vous n'avez pas d'articles ajoutés!" mais cette ligne n'apparaît pas, où est l'erreur?
J'ai essayé pendant si !isset
, !empty
, !is_null
mais ne fonctionnent pas.
- La syntaxe pour
isset()
ne prend que 1 argument, commeif (!isset($db['article']) && !isset($db['subject']))
Vous devez vous connecter pour publier un commentaire.
Je pense que ce que vous essayez d'atteindre est:
Je ne comprends pas. Avez-vous des lignes de l'article avec le nom d'utilisateur, mais sans l'article, c'est à dire:
Si oui, vous pouvez tester avec:
Contraire, si vous n'avez pas une ligne avec user=x, lorsqu'il n'existe aucun enregistrement, mysql retourne un résultat vide.
Donc, fondamentalement, si aucune ligne n'est trouvé sur la sélection:
SELECT * FROM article_table WHERE Username = 'X';
, vous pouvez testerCependant, les fonctions mysql_ ne sont pas recommandés non plus. Regardez les instructions préparées.
Vous avez une erreur de logique dans votre
if
déclaration -- ce que vous voulez est de vérifier si l'article et le sujet sont fixés.Avec votre code, vous pouvez comparer les
$db['article']
avec$db['subject']
, et vérifier si le résultat est réglé. Vous avez besoin de changer un peu :Au lieu de :
Essayer:
Je voudrais faire quelque chose comme ceci:
façon la plus rapide d'obtenir ce que vous voulez, c'est par l'ajout d'une variable qui permettra de vérifier si la requête a retourné toutes les lignes:
Vous avez essayé d'echo "pas d'articles" dans la boucle while, vous obtenez uniquement si la requête retourne des informations, c'est pourquoi si elle renvoie 1 ou plusieurs lignes, $i va devenir 1 sinon il restera 0.
Dans votre cas:
Je recommande difficile de passer à PDO pour communiquer avec DB.