2016-11-18 1 views
1

Ich versuche, Ergebnisse aus einer Datenbank zu erhalten und zu sagen "Ihr Gerät ist noch unter Garantie." oder "Die Garantie dieses Geräts ist abgelaufen." abhängig davon, ob das Ablaufdatum der Garantie älter ist als das heutige Datum.SQL zum Suchen und Zurückgeben von Ergebnissen, die in If und Else-Anweisungen formatiert sind

Ich verwende eine benutzerdefinierte Wordpress-Seitenvorlage, um eine Verbindung zu einer entfernten Datenbank herzustellen. Hier ist, was ich bisher habe. Ich bin mit der Datenbank verbunden und kann Ergebnisse zurückgeben. Ich bin gerade dabei, ein Suchformular zu erstellen, das die Ergebnisse in einer Weise widerspiegelt, die nützlich ist.

<?php $con = mysqli_connect("localhost","my_user","my_password","my_db"); 


// check connection 
if ($con->connect_error) { 
die("Connection failed: " . $con->connect_error); 
} 
echo "Connected successfully"; 
?>  
<form action="" method="post"> 
    Search: <input type="text" name="term" /><br /> 
    <input type="submit" value="Submit" /> 
</form> 
<?php 
    if (!empty($_REQUEST['term'])) { 
    $term = mysql_real_escape_string($_REQUEST['term']);  

$sql = "SELECT * FROM warranty WHERE serial LIKE '%".$term."%'"; 
$r_query = mysql_query($sql); 

Was ich will, hier zu tun ist, sagen, wenn die Seriennummer „warexp“ eingegeben hat einen Datumswert älter als heute echo „Das Produktgarantie abgelaufen ist.“ und wenn es ein Datum zurückgibt, das Echo noch nicht passiert hat, wie meine ELSE-Aussage "Ihr Gerät ist noch unter Garantie.". Ich bin wirklich verwirrt über diesen Teil und wie man es mit einer benutzerdefinierten Seitenvorlage in Wordpress arbeiten kann oder ob das überhaupt zählt.

while ($row = mysql_fetch_array($r_query)){ 
????????????????????????? 
?> 

Vielen Dank im Voraus für jede Einsicht. Ich hoffe, meine Beschreibung des Problems ist klar.

+0

Bitte beenden Sie die 'mysql_ mit *' Funktionen. Sie wurden in PHP 5.5, das so alt ist, dass es nicht einmal mehr Sicherheits-Updates erhält, komplett entfernt und in PHP 7 vollständig entfernt. Sie verwenden stattdessen PDO oder mysqli_ * '. Weitere Informationen finden Sie unter http://stackoverflow.com/q/12859942/354577. – Chris

+1

Die Garantie auf die 'mysql_ *' Funktionen ist ebenfalls abgelaufen ... Und Sie können es nicht mit mysqli mischen. – jeroen

+0

Ich werde das untersuchen, aber es hilft nicht wirklich das Problem, für das ich eine Lösung suche. Aber lass mich die Verbindung erneut eingeben, damit es den Standards entspricht. – cjvalotta

Antwort

0

versuchen Sie dies:

<?php $con = mysqli_connect("localhost","my_user","my_password","my_db"); 
    // check connection 
if ($con->connect_error) { 
    die("Connection failed: " . $con->connect_error); 
} 
echo "Connected successfully"; 
?>  
<form action="" method="post"> 
    Search: <input type="text" name="term" /><br /> 
    <input type="submit" value="Submit" /> 
</form> 
<?php 
if (!empty($_REQUEST['term'])) { 
    $term = "%{$_REQUEST['term']}%"; 
    $sql = "SELECT * FROM warranty WHERE serial LIKE ?"; 
    $prepare = $con->prepare($sql); 
    $prepare->bind_param('s',$term); 
    $prepare->execute(); 
    $r_query = $prepare->get_result(); 
    while($row = $r_query->fetch_assoc()){ 
    if((time() - (60 * 60 * 24)) <= strtotime($row['date_value'])) 
    { 
     echo 'Your device is still under warranty.' . '<br>'; 
    } 
    else 
    { 
     echo 'This product's warranty is expired.' . '<br>'; 
    } 
    } 
} 

Lesen Sie mehr auf php oficial documentation

+3

['get_result () '] (http://php.net/manual/en/mysqli-stmt.get-result.php) ist nicht für jeden verfügbar und hängt von der Serverkonfiguration ab, da das Handbuch Folgendes angibt: *" MySQL Native Driver Nur verfügbar nur mit [mysqlnd] (http://php.net/manual/de/book.mysqlnd.php) "*. ** Plus, ** * "Try this" * Antworten sind oft verpönt; Ich dachte nur, du würdest das gerne wissen ;-) Stack ist es zu wissen, "wie" die Dinge funktionieren und nicht "hoffen", dass es funktioniert. –

+0

sagte Fred. – Drew

+0

* grazie sehr mooch * @Drew –

Verwandte Themen