2017-10-21 20 views
0

Je suis nouveau sur PHP et SQL. J'essaye de faire une règle pour qu'elle montre seulement certaines informations pour certaines pages. Le code que j'utilise est include 'dbh-login.php'; L'instruction if semble n'avoir aucun effet sur le temps, le script fait écho au titre ou non.PHP si les instructions sont ignorées

+6

Le signe '=' est une affectation. Utilisez la comparaison '==' ou '===' à la place. – JazZ

+1

Voici la page de manuel pour [opérateurs de comparaison] (http://php.net/manual/fr/language.operators.comparison.php). – JazZ

Répondre

1

Il vous manque == affectation. Voici le code de travail.

$id = $_GET['id']; 

$i = 1; 

while ($i != 100) { 
    $sql = "SELECT * FROM ui_off WHERE id='$i'"; 
    $result = mysqli_query($conn, $sql); 
    $row = mysqli_fetch_assoc($result); 
    if ($row['link'] == $id) { 
     echo $row['title']."<br>"; 
    } 
    $i++; 
} 
0

Votre code n'a aucun sens.

Vous utilisez un while loop et vous y insérez 100 fois juste pour vérifier si 1 ligne a l'ID donné. Pourquoi ne recherchez-vous pas directement l'identifiant? Votre code sera plus propre et vous libérerez de la mémoire sur le serveur en déduisant 100 requêtes chaque fois que la page est ouverte.

$id = $_GET['id']; 

$sql = "SELECT * FROM ui_off WHERE id!='100' AND link='$id'" ; 
$result = mysqli_query($conn, $sql); 
$row = mysqli_fetch_assoc($result); 
if ($row['link'] != '') { 
    echo $row['title']."<br>"; 
}