Ik krijg deze 2 foutmeldingen: Notice: Undefined variable: arrx in D:\xampp\htdocs\website\foodpoint\print.php on line 147

Warning: Invalid argument supplied for foreach() in D:\xampp\htdocs\website\foodpoint\print.php on line 147

de code op line 147 is: foreach($arrx as $obj) {
Hmm... dat is wel apart.

Pas je object eens aan naar assoc, zoals ik al eerder aangaf?
- Ariën - op 08/09/2020 14:48:51

Hmm... dat is wel apart.

Pas je object eens aan naar assoc, zoals ik al eerder aangaf?



Heb ik gelijk gedaan met dat andere, geeft ook geen succes :/
Maak voor je while anders je array eens aan met dit:

$arrx = [];
- Ariën - op 08/09/2020 14:54:00

Maak voor je while anders je array eens aan met dit:

$arrx = [];


Welke bedoel je daarmee?
Die code voor je while() plaatsen.
- Ariën - op 08/09/2020 14:59:32

Die code voor je while() plaatsen.



Maakt ook geen verschil.
Da's wel raar, want dan zou je array in ieder geval moeten bestaan.
Laat je hele relevante code eens zien?
- Ariën - op 08/09/2020 15:06:58

Da's wel raar, want dan zou je array in ieder geval moeten bestaan.
Laat je hele relevante code eens zien?



<?php
// Initialize the session
session_start();

// Check if the user is logged in, if not then redirect him to login page
if (!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true) {
    header("location: login.php");
    exit;
}
?>
<?php
// Include config file
require_once "config.php";
?>
<style>
    .flex-fill {
        flex: 1
    }

    .my-custom-scrollbar {
        position: relative;
        height: 1200px;
        overflow: auto;
    }

    .table-wrapper-scroll-y {
        display: block;
    }
</style>
<?php include('header.php'); ?>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
    <a class="navbar-brand" href="#"></a>
    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent"
            aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="navbarSupportedContent">
        <ul class="navbar-nav mr-auto">
            <li class="nav-item active">
                <a class="nav-link" href="https://development.chimostapas.nl/foodpoint/">Chimostapas <span
                            class="sr-only">(current)</span></a>
							
            </li>
			<li class="nav-item active">
               
							<a class="nav-link" href="welcome.php">Home <span
                            class="sr-only">(current)</span></a>
            </li>
        </ul>
        <ul class="nav navbar-nav flex-fill justify-content-center">
            <li class="nav-item"><a class="nav-link" href="#"><strong
                            class="text-white">Welkom <?php echo ucfirst(htmlspecialchars($_SESSION["user_login"])); ?></strong></a>
            </li>
        </ul>
        <form class="form-inline my-2 my-lg-0">
            <a href="logout.php" class="btn btn-danger">Log uit</a>
        </form>
    </div>
</nav>
<div class="container mb-5" style="margin-top:30px">

	<form method="POST" action="" class="form-horizontal" >
	<div class="btn-group btn-block mb-4">
	  <button class="btn btn-dark dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
		Select Date
	  </button>
	  <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
	  <a class="dropdown-item" href="?date=all">All</a>
	    <?php 
				$sql = "SELECT 
						distinct(date(start_date)) as sd
						FROM `food_point` 						
						WHERE(start_date BETWEEN DATE_FORMAT(CURDATE(), '%Y-%m-01') AND DATE_ADD(start_date, INTERVAL 1 MONTH)  )
						AND status in (3)
						order by sd";
				if ($result = mysqli_query($link, $sql)) {
				while ($obj = mysqli_fetch_object($result)) {	
		?>
		<a class="dropdown-item" href="?date=<?php  echo  $obj->sd; ?>">
		<?php  echo  date("d F Y",strtotime($obj->sd)); ?>
		<?php  //echo  $obj->sd; ?>
		</a>
		<?php } ?>
		<?php } ?>
	  </div>
	</div>
	</form>
	
    <div class="table-wrapper-scroll-y my-custom-scrollbar">
        <table class="table table-bordered">
            <thead>
            <tr class="row m-0">
                <th class="d-inline-block col-3">Order</th>
                <th class="d-inline-block col-6">Order details</th>
                <th class="d-inline-block col-3">Status</th>
            </tr>
            </thead>
            <tbody>
			<?php
				if(isset($_GET["date"]) && $_GET["date"] != "all"){
					
					$date = $_GET["date"];					
						$sqlx = "SELECT 
						order_id,
						start_date,
						full_name,
						phone,
						email,
						total,
						details,
						status
						FROM 
						`food_point` 
						WHERE DATE(start_date) = '".$date."'  
						AND status in (3)
						ORDER BY order_id DESC
						";
				} else { echo mysqli_error($link);
						
						$sqlx = "SELECT 
						order_id,		
						start_date,
						full_name,
						phone,
						email,
						total,
						details,
						status
						FROM 
							`food_point` 
						WHERE  (start_date BETWEEN DATE_FORMAT(CURDATE(), '%Y-%m-01') AND DATE_ADD(start_date, INTERVAL 1 MONTH)  )	
						AND status in (3)";
				}
				
				
				
				// 
				
				if ($resultx = mysqli_query($link, $sqlx)) {
					$arrx = [];while ($objx = mysqli_fetch_assoc($resultx)) {	
					$arrx[] = $objx;
				}
				
				
				
				
				foreach($arrX as $obj) {	
					
					
					
			?>
            <form action="#" >
                <tr class="row m-0 
				<?php if($obj->status == '1'){ echo 'bg-info'; } elseif($obj->status == '2') { echo 'bg-danger'; } else {  echo ''; } ?>
				" >
                    <td class="d-inline-block col-3">
                        <div><?php  echo  date("d F Y H:i:s",strtotime($obj->start_date)); ?></div>
                        <div><?php  echo $obj->full_name; ?></div>
                        <div><?php  echo $obj->phone; ?></div>
                        <div><?php  echo $obj->email; ?></div>
                    </td>
                    <td class="d-inline-block col-6"> 
						<?php  
							$details = json_decode($obj->details);
							foreach($details->items as $item){
								foreach($item->extras as $extra){
									?>
									<div class="row">
										<div class="col">
											<?php echo $extra->quantity; ?>x <?php echo $extra->title; ?>
										</div>	
										<div class="col text-center">
											P/s : €1
										</div>
										<div class="col text-right">
											<?php $total = $extra->quantity; ?>
											<?php echo 'Total: €'. $total; ?>
										</div>
									</div>
									<?php
									
								}
							}								
						?>		
					<hr />
					<div class="row">
					  <div class="col">
						Totaal:
					  </div>
					  <div class="col text-right">
						€ <?php  echo $obj->total; ?>
					  </div>
					</div>
                    </td>
                    <td class="d-inline-block col-3">
                        <div class="form-group">
                            <div class="form-check">
                                <input class="form-check-input"  name="state" data-order="<?php  echo $obj->order_id; ?>" value="1" type="radio" id="gridCheck1"
								<?php if($obj->status == '1'){ echo 'checked'; } else { ''; } ?>
								>
                                <label class="form-check-label" for="gridCheck1">
                                    Koude producten
                                </label>
                            </div>
                            <div class="form-check">
                                <input class="form-check-input"  name="state" data-order="<?php  echo $obj->order_id; ?>" value="2" type="radio" id="gridCheck2"
								<?php if($obj->status == '2'){ echo 'checked'; } else { ''; } ?>
								>
                                <label class="form-check-label" for="gridCheck2">
                                    Warme producten
                                </label>
                            </div>
							<div class="form-check">
                                <input class="form-check-input"  name="state" data-order="<?php  echo $obj->order_id; ?>" value="3" type="radio" id="gridCheck3" 
								<?php if($obj->status == '3'){ echo 'checked'; } else { ''; } ?>
								>
                                <label class="form-check-label" for="gridCheck3">
                                    Print nummer
                                </label>
                            </div>
                        </div>
                        <div class="form-group">
                            <button  onclick="closeOrder(<?php  echo $obj->order_id; ?>)" class="btn btn-dark">Verwijder bestelling</button>
                        </div>
                    </td>
                </tr>
            </form>
			<?php } ?>
						<?php } ?>			
            </tbody>
        </table>
    </div>
</div>
<?php include('footer.php'); ?>




[size=xsmall]Toevoeging op 08/09/2020 15:13:58:[/size]

Marvin groothuis op 08/09/2020 15:08:25

[quote="- Ariën - op 08/09/2020 15:06:58"]
Da's wel raar, want dan zou je array in ieder geval moeten bestaan.
Laat je hele relevante code eens zien?



<?php
// Initialize the session
session_start();

// Check if the user is logged in, if not then redirect him to login page
if (!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true) {
    header("location: login.php");
    exit;
}
?>
<?php
// Include config file
require_once "config.php";
?>
<style>
    .flex-fill {
        flex: 1
    }

    .my-custom-scrollbar {
        position: relative;
        height: 1200px;
        overflow: auto;
    }

    .table-wrapper-scroll-y {
        display: block;
    }
</style>
<?php include('header.php'); ?>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
    <a class="navbar-brand" href="#"></a>
    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent"
            aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="navbarSupportedContent">
        <ul class="navbar-nav mr-auto">
            <li class="nav-item active">
                <a class="nav-link" href="https://development.chimostapas.nl/foodpoint/">Chimostapas <span
                            class="sr-only">(current)</span></a>
							
            </li>
			<li class="nav-item active">
               
							<a class="nav-link" href="welcome.php">Home <span
                            class="sr-only">(current)</span></a>
            </li>
        </ul>
        <ul class="nav navbar-nav flex-fill justify-content-center">
            <li class="nav-item"><a class="nav-link" href="#"><strong
                            class="text-white">Welkom <?php echo ucfirst(htmlspecialchars($_SESSION["user_login"])); ?></strong></a>
            </li>
        </ul>
        <form class="form-inline my-2 my-lg-0">
            <a href="logout.php" class="btn btn-danger">Log uit</a>
        </form>
    </div>
</nav>
<div class="container mb-5" style="margin-top:30px">

	<form method="POST" action="" class="form-horizontal" >
	<div class="btn-group btn-block mb-4">
	  <button class="btn btn-dark dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
		Select Date
	  </button>
	  <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
	  <a class="dropdown-item" href="?date=all">All</a>
	    <?php 
				$sql = "SELECT 
						distinct(date(start_date)) as sd
						FROM `food_point` 						
						WHERE(start_date BETWEEN DATE_FORMAT(CURDATE(), '%Y-%m-01') AND DATE_ADD(start_date, INTERVAL 1 MONTH)  )
						AND status in (3)
						order by sd";
				if ($result = mysqli_query($link, $sql)) {
				while ($obj = mysqli_fetch_object($result)) {	
		?>
		<a class="dropdown-item" href="?date=<?php  echo  $obj->sd; ?>">
		<?php  echo  date("d F Y",strtotime($obj->sd)); ?>
		<?php  //echo  $obj->sd; ?>
		</a>
		<?php } ?>
		<?php } ?>
	  </div>
	</div>
	</form>
	
    <div class="table-wrapper-scroll-y my-custom-scrollbar">
        <table class="table table-bordered">
            <thead>
            <tr class="row m-0">
                <th class="d-inline-block col-3">Order</th>
                <th class="d-inline-block col-6">Order details</th>
                <th class="d-inline-block col-3">Status</th>
            </tr>
            </thead>
            <tbody>
			<?php
				if(isset($_GET["date"]) && $_GET["date"] != "all"){
					
					$date = $_GET["date"];					
						$sqlx = "SELECT 
						order_id,
						start_date,
						full_name,
						phone,
						email,
						total,
						details,
						status
						FROM 
						`food_point` 
						WHERE DATE(start_date) = '".$date."'  
						AND status in (3)
						ORDER BY order_id DESC
						";
				} else { echo mysqli_error($link);
						
						$sqlx = "SELECT 
						order_id,		
						start_date,
						full_name,
						phone,
						email,
						total,
						details,
						status
						FROM 
							`food_point` 
						WHERE  (start_date BETWEEN DATE_FORMAT(CURDATE(), '%Y-%m-01') AND DATE_ADD(start_date, INTERVAL 1 MONTH)  )	
						AND status in (3)";
				}
				
				
				
				// 
				
				if ($resultx = mysqli_query($link, $sqlx)) {
					$arrx = [];while ($objx = mysqli_fetch_assoc($resultx)) {	
					$arrx[] = $objx;
				}
				
				
				
				
				foreach($arrX as $obj) {	
					
					
					
			?>
            <form action="#" >
                <tr class="row m-0 
				<?php if($obj->status == '1'){ echo 'bg-info'; } elseif($obj->status == '2') { echo 'bg-danger'; } else {  echo ''; } ?>
				" >
                    <td class="d-inline-block col-3">
                        <div><?php  echo  date("d F Y H:i:s",strtotime($obj->start_date)); ?></div>
                        <div><?php  echo $obj->full_name; ?></div>
                        <div><?php  echo $obj->phone; ?></div>
                        <div><?php  echo $obj->email; ?></div>
                    </td>
                    <td class="d-inline-block col-6"> 
						<?php  
							$details = json_decode($obj->details);
							foreach($details->items as $item){
								foreach($item->extras as $extra){
									?>
									<div class="row">
										<div class="col">
											<?php echo $extra->quantity; ?>x <?php echo $extra->title; ?>
										</div>	
										<div class="col text-center">
											P/s : €1
										</div>
										<div class="col text-right">
											<?php $total = $extra->quantity; ?>
											<?php echo 'Total: €'. $total; ?>
										</div>
									</div>
									<?php
									
								}
							}								
						?>		
					<hr />
					<div class="row">
					  <div class="col">
						Totaal:
					  </div>
					  <div class="col text-right">
						€ <?php  echo $obj->total; ?>
					  </div>
					</div>
                    </td>
                    <td class="d-inline-block col-3">
                        <div class="form-group">
                            <div class="form-check">
                                <input class="form-check-input"  name="state" data-order="<?php  echo $obj->order_id; ?>" value="1" type="radio" id="gridCheck1"
								<?php if($obj->status == '1'){ echo 'checked'; } else { ''; } ?>
								>
                                <label class="form-check-label" for="gridCheck1">
                                    Koude producten
                                </label>
                            </div>
                            <div class="form-check">
                                <input class="form-check-input"  name="state" data-order="<?php  echo $obj->order_id; ?>" value="2" type="radio" id="gridCheck2"
								<?php if($obj->status == '2'){ echo 'checked'; } else { ''; } ?>
								>
                                <label class="form-check-label" for="gridCheck2">
                                    Warme producten
                                </label>
                            </div>
							<div class="form-check">
                                <input class="form-check-input"  name="state" data-order="<?php  echo $obj->order_id; ?>" value="3" type="radio" id="gridCheck3" 
								<?php if($obj->status == '3'){ echo 'checked'; } else { ''; } ?>
								>
                                <label class="form-check-label" for="gridCheck3">
                                    Print nummer
                                </label>
                            </div>
                        </div>
                        <div class="form-group">
                            <button  onclick="closeOrder(<?php  echo $obj->order_id; ?>)" class="btn btn-dark">Verwijder bestelling</button>
                        </div>
                    </td>
                </tr>
            </form>
			<?php } ?>
						<?php } ?>			
            </tbody>
        </table>
    </div>
</div>
<?php include('footer.php'); ?>



[/quote]

Owhh sorry haha, ik ben ondertussen ook bezig met een ander deel van die pagina dus deed het even snel tussen door.
Jeetje, wat een brei aan code, zonder goede inspringing, en een hoop plekken waar opeens PHP-blokken spontaan worden geopend en gesloten. Hier mag wel wat aan verbeterd worden :-P

En die echo mysqli_error($link); staat op de verkeerde plek. Die wil je juist plaatsen als else van je if-statement van je mysqli_query, en dat is de laatste statement van je code dus.

Als je nou goede structuur hebt, dan heb je ook meteen een goed overzicht.
Ik heb een vermoeden dat je query ergens spaak loopt.
- Ariën - op 08/09/2020 15:15:11

Jeetje, wat een brei aan code, zonder goede inspringing, en een hoop plekken waar opeens PHP-blokken spontaan worden geopend en gesloten. Hier mag wel wat aan verbeterd worden :-P

En die echo mysqli_error($link); staat op de verkeerde plek. Die wil je juist plaatsen als else van je if-statement van je mysqli_query, en dat is de laatste statement van je code dus.



Haha ja klopt, ik heb deze code ook niet zelf geschreven ;P

Reageren