2017-10-12 2 views
0

Ich konstruiere einen Code, in dem Datensätze gezählt werden, wo reservation_status = 'WARTEN'. Wenn die Gesamtanzahl der Wartezeiten> = 1 ist, werden die Aufzeichnungen angezeigt und die Reservierung ausgeführt. Andernfalls wird "Die Liste nicht beanspruchter Reservierungen ist leer" ausgegeben.Wie kann ich SQL-Wert auf eine Variable setzen?

Dies ist mein Code:

<?php 
    $countsql = mysqli_query($conn,"SELECT count(*) FROM reservations WHERE reservation_status = 'WAITING';"); 
    $count = mysqli_num_rows($countsql); 
    if ($count >= 1){   
    $select = mysqli_query($conn,"SELECT * FROM reservations WHERE reservation_status = 'WAITING';"); 
    while($userrow = mysqli_fetch_array($select)){ 
     $reservationid=$userrow['reservation_id']; 
     $startdate=$userrow['reservation_start_date']; 
     $enddate=$userrow['reservation_end_date']; 
     $cname=$userrow['customer_name']; 
     $rroom=$userrow['reserved_room']; 

       echo $rroom;?> 
<a href="claimreservations.php?reservation_id=<?php echo $reservationid; ?>" onclick="return confirm('Are you sure to claim this reservation?');"/>CLAIM RESERVATION</a> 
    <?php}}else if($count = 0){ 
    echo "The Unclaimed Reservations List is Empty".} 
?> 

Nun, ich weiß nicht, warum es sowohl die Aufzeichnungen zeigen, ist und diese Fehlermeldung:

Hinweis: Objekt der Klasse MySQLi_Result nicht sein könnte konvertierte in C in int: \ xampp \ htdocs \ admin Seiten system \ Reservierungen \ \ view.php auf Linie 6

+0

'$ count = 0 'sollte Zahl sein' $ = = 0' und entferne das '.' von diesem' echo' Die Liste der nicht beanspruchten Reservierungen ist leer. ".' –

+1

habe einen zweiten Blick darauf, was' mysqli_num_rows' tut. Sie wollen nicht die Anzahl der Ergebnisse (immer 1), aber Sie wollen das tatsächliche Ergebnis ... – Pevara

+0

Mit mysqli_num_rows wie oben erwähnt - Sie können die erste SQL ganz löschen. –

Antwort

0

von Keine Notwendigkeit, zwei Abfragen ausführen, tun sie es in einzelne Abfrage wie folgt: -

<?php 
$select = mysqli_query($conn,"SELECT * FROM reservations WHERE reservation_status = 'WAITING'"); 
if (mysqli_num_rows($select) >0){ 
    while($userrow = mysqli_fetch_assoc($select)){ 
     $reservationid = $userrow['reservation_id']; 
     $startdate  = $userrow['reservation_start_date']; 
     $enddate  = $userrow['reservation_end_date']; 
     $cname   = $userrow['customer_name']; 
     $rroom   = $userrow['reserved_room']; 

     echo $rroom; 
?> 
<a href="claimreservations.php?reservation_id=<?php echo $reservationid; ?>" onclick="return confirm('Are you sure to claim this reservation?');"/>CLAIM RESERVATION</a> 
<?php }}else{ 
    echo "The Unclaimed Reservations List is Empty"; 
}?> 
+0

@Isaiah bitte benutze meinen aktuell bearbeiteten Antwortcode. Ich habe meinen Antwortcode vollständig geändert. –

+0

Endlich. Es hat funktioniert, Sir. Ich danke dir sehr. :) –

+0

@DoriesIsaiah froh, dir zu helfen :) :) –

0

Ich denke, seine weil mysqli_num_rows() kehrt Reihen zählen, die immer 1

Verwendung

$result = mysqli_fetch_array($countsql, MYSQLI_NUM); 
if ($result[0] >= 1) { // so 
Verwandte Themen