データベース内の「アーティスト」と「グループ」の両方のデータ数を数える2つのクエリがあります。アーティストやグループ(またはその両方)に表示するデータがある場合、そのデータが両方とも0を返し、何も表示しない場合は、メッセージを表示します。2つのクエリを使用してphp if ... else文を使用する
<?php if (($numrowsartists==0)OR($numrowsgroups==0)) {
} else {
echo "There is information to display.";
}
?>
以下は、私が持っているクエリです:事前に
$query = "SELECT COUNT(*) FROM `Credit_To_Artist` AS c2a
INNER JOIN `Credits` AS cr ON cr.credit_id = c2a.credit_id
INNER JOIN `Artist` AS a ON a.artist_id = c2a.artist_id
WHERE c2a.song_id = $id";
$res = mysql_query($query);
$numrowsartists = mysql_fetch_assoc($res);
$query = "SELECT COUNT(*) FROM `Credit_To_Artist` AS c2a
INNER JOIN `Credits` AS cr ON cr.credit_id = c2a.credit_id
INNER JOIN `Artist_Group` AS ag ON ag.group_id = c2a.group_id
WHERE c2a.song_id = $id
ORDER BY ag.group_name ASC";
$res = mysql_query($query);
$numrowsgroups = mysql_fetch_assoc($res);
おかげ
は私が動作していないように次のコードを持っています。私はそれがおそらく超基本的な修正だと確信していますが、私はまだ非常にPHPに新しいといくつかの助けに感謝しています。あなたは、列名のエイリアスを使用して値frorm行などをgettheすべき
mysql_ *関数は、PHP 5.5.0で廃止、およびPHP 7.0.0のように除去されています。 [PDO](https://secure.php.net/manual/en/pdo.prepared-statements.php)または[mysqli](http://php.net/manual/en/mysqli)を使用するようにコードを切り替えてください。 quickstart.prepared-statements.php)を使用してください。 – aynber
mysql_fetch_assocは行をフェッチするので、0になりません。代わりにnum_rows関数を使用して行数を数えます。 – aynber
dbスキーマと値を投稿する必要があります。また、 'NULL'!=' 0'または "empty"を覚えておく必要があります。 –