2013-10-27 5 views
0

У меня есть следующий код php, который вызывается ajax и отображается на странице после изменения поля ввода на странице. Все работает нормально, но я не могу получить переменную для количества строк в запросе2.подсчет количества строк в php-файле, который вызывается ajax

<?php 
$db = new mysqli('localhost', 'name' ,'pass', 'db'); 

$kw=$_GET['kw']; 
$schicht=$_GET['schicht']; 
$field_id=$_GET['field_id']; 

if(!$db) { 

    echo 'Could not connect to the database.'; 
} else { 

if(1==1) { 

$query1 = $db->query("UPDATE dienstplan SET schicht= '".$schicht."' WHERE field_id='".$field_id."'"); 

} 
if($query1) 
{ 
echo '<div id="managementfields1" class="fieldslist2">'; 
while ($result = $query1 ->fetch_object()) { 

$schichtcheck = $result->schicht; 

$query2 = $db->query("SELECT * FROM codes WHERE lcfruh='$schichtcheck' OR lcmittag='$schichtcheck' OR lcmitlcspat='$schichtcheck' OR lcmitshspat='$schichtcheck' OR lcspaet='$schichtcheck' OR shmittag='$schichtcheck' OR shmitshspat='$schichtcheck' OR shmitlcspat='$schichtcheck' OR lcspaet='$schichtcheck' OR lcnacht='$schichtcheck' OR lcteildienst='$schichtcheck' OR shfruh='$schichtcheck' OR shspaet='$schichtcheck' OR shnacht='$schichtcheck' OR shteildienst='$schichtcheck' OR frei='$schichtcheck' OR modkod='$schichtcheck' OR lcshteil='$schichtcheck' OR shlcteil='$schichtcheck"); 

$rowcount = /// i need here number of rows from the query2; 

if($rowcount>0) { 
$color="white"; 
} elseif if($rowcount<1){ 
$color="red"; 
} 

echo '<p><input name="schicht[]" style="background-color:'.$color.'" type="text" value="'.$result->schicht.'"></p>'; 
} 
echo '</div>; 
} 
else { 
echo '<h1>Error</h1>'; 
} 
} 
?> 
+0

делает '$ ROWCOUNT = $ query2-> num_rows;' не работа? –

+0

mysqli_num_rows – Alex

+0

для $ rowcount = $ query2-> num_rows; Я получаю Уведомление: попытка получить свойство не-объекта в – user2615859

ответ

2

После беглого взгляда, у вас есть ошибки в, пропуская ни одной цитаты:

$query2 = $db->query("SELECT * FROM codes WHERE lcfruh='$schichtcheck' OR lcmittag='$schichtcheck' OR lcmitlcspat='$schichtcheck' OR lcmitshspat='$schichtcheck' OR lcspaet='$schichtcheck' OR shmittag='$schichtcheck' OR shmitshspat='$schichtcheck' OR shmitlcspat='$schichtcheck' OR lcspaet='$schichtcheck' OR lcnacht='$schichtcheck' OR lcteildienst='$schichtcheck' OR shfruh='$schichtcheck' OR shspaet='$schichtcheck' OR shnacht='$schichtcheck' OR shteildienst='$schichtcheck' OR frei='$schichtcheck' OR modkod='$schichtcheck' OR lcshteil='$schichtcheck' OR shlcteil='$schichtcheck"); 

должны быть:

$query2 = $db->query("SELECT * FROM codes WHERE lcfruh='$schichtcheck' OR lcmittag='$schichtcheck' OR lcmitlcspat='$schichtcheck' OR lcmitshspat='$schichtcheck' OR lcspaet='$schichtcheck' OR shmittag='$schichtcheck' OR shmitshspat='$schichtcheck' OR shmitlcspat='$schichtcheck' OR lcspaet='$schichtcheck' OR lcnacht='$schichtcheck' OR lcteildienst='$schichtcheck' OR shfruh='$schichtcheck' OR shspaet='$schichtcheck' OR shnacht='$schichtcheck' OR shteildienst='$schichtcheck' OR frei='$schichtcheck' OR modkod='$schichtcheck' OR lcshteil='$schichtcheck' OR shlcteil='$schichtcheck'"); 
+0

спасибо, ребята, $ rowcount = $ query2-> num_rows; работал. – user2615859

+0

Ajax, вызванный скриптом php, трудно проверить, поскольку результат не отображается в браузере. ;). Сначала нужно вызвать его непосредственно для проверки. – jacouh

Смежные вопросы