0

I am having the following php code that is called by the ajax and is shown in the page once the input field on the page is being changed. Everything is working fine but I can not get the variable for the number of rows in the query2.

<?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>';
}
}   
?>
4
  • Does $rowcount = $query2->num_rows; not work? Commented Oct 27, 2013 at 10:32
  • for $rowcount = $query2->num_rows; i am getting Notice: Trying to get property of non-object in Commented Oct 27, 2013 at 10:42
  • for $result=mysqli_num_rows(query6) i am getting notice Use of undefined constant query6 - assumed 'query6' in Commented Oct 27, 2013 at 10:43
  • Have you try to tried a var_dump($query2); to check that your query is correct? Commented Oct 27, 2013 at 10:49

1 Answer 1

2

After a quick look, you have error at, missing a single quote:

$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");

Shall be:

$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'");
Sign up to request clarification or add additional context in comments.

1 Comment

Ajax called php script is difficult to verify, as the result is not visible on browser. ;). One should invoke it directly to test first.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.