PHP - MySQL Notice: Trying to access array offset on value
Astolpho Messages postés 74 Statut Membre -
Bonjour,
J'ai les messages d'erreur ci-dessous:
Notice: Undefined variable: row in
Notice: Trying to access array offset on value of type null in
J'affiche sur une page des informations provenant de plusieurs tables avec les jointures, quand les informations sont insérés ça fonctionne, mais quand certains champs ne sont pas remplis, j'ai ces erreurs. Si quelqu'un peut me dire a quoi ça correspond comme message.
Merci
3 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour,
Cela correspond à des déficiences dans ton code, et nous ne voyons pas ton code.
-
Le code pour afficher le client par rapport à sa quittance :
?php require_once('../inc/connexion.php'); $receipt = $_GET['receipt']; $db = getDB(); $stmt = $db->query(" SELECT * from receipt LEFT JOIN customers ON (receipt.id_customers=customers.id_customers) LEFT JOIN rooms ON (receipt.room_number=rooms.room_number) LEFT JOIN state ON (receipt.receipt=state.receipt) WHERE receipt.receipt=$receipt "); $donnees = $stmt->fetch(); include('../array/month.php'); ?>ici c'est le code pour afficher les informations du propriétaire celle du locataire et celle du prix.
<!-- Main content --> <section class="content"> <div class="col-md-12"> </div> <section > <div class="callout callout-info"> <h4>Quittance #<?php echo $donnees['receipt'];?> - <?php echo $mois;?></h4> </div> <div class="row"> <div class="col-md-5"> <div class="box box-primary"> <div class="box-header with-border"> <h3 class="box-title text-light-blue">Propriétaire </h3> </div> <!-- /.box-header --> <div class="box-body"> <strong><?php echo $company['name_company']; ?></strong><br> SARL au Capital de <?php echo $company['capital'];?>€<br> <?php echo $company['address_company'];?> - <?php echo $company['zipcode'];?> <?php echo $company['city'];?><br> RCS de PARIS de <?php echo $company['RCS'];?><br> tva N°FR <?php echo $company['TVA'];?><br> </div> <!-- /.box-body --> </div> <!-- /.box --> </div> <!-- /.col --> <div class="col-md-5"> <div class="box box-primary"> <div class="box-header with-border"> <h3 class="box-title text-light-blue">Locataire</h3> <div class="box-tools pull-right"> </div> </div> <!-- /.box-header --> <div class="box-body"> <strong><?php echo $donnees['showin'];?></strong><br> Chambre : <?php echo $donnees['room_number']; ?><br> Date d'entrée : <?php echo $donnees['entry_date'];?><br> Téléphone : <?php echo $donnees['mobile']; ?><br> <br> </div> <!-- /.box-body --> </div> <!-- /.box --> </div> <?php $receipt = $_GET['receipt']; try //Connection a la bdd { $db = getDB(); } catch (Exception $e) { die('Erreur : ' . $e->getMessage()); } $stmt = $db->query(" SELECT vat FROM tax "); $tax = $stmt->fetch(); /////////////////PRIX CHAMBRE////////////////////////////// $sql=("SELECT price FROM rooms LEFT JOIN receipt ON (rooms.id_customers=receipt.id_customers) WHERE receipt.receipt=$receipt "); foreach ($db->query($sql) as $row) { // $dbh = null; } /////////////////PRIX ARTICLES////////////////////////////// $sql=("SELECT SUM(price) FROM articles LEFT JOIN receipt ON (articles.receipt=receipt.receipt) LEFT JOIN items ON (articles.id_items=items.id_items) WHERE articles.receipt=$receipt "); foreach ($db->query($sql) as $row1) { } // $dbh = null; //Formule : [Montant HT] x ([Taux TVA] / 100)=[Montant TVA] 100 € x (20 / 100)=20 € de TVA // echo $row['price']; //prix chambre $total_ht = $row['price']; //prix articles (en général, il n'y en a pas (clé, badge etc...) $articles = $row1['SUM(price)']; $txTVA = $company['TVA']; $TVA = $total_ht * (10/100); $prix_ttc = $total_ht + $TVA + $articles; ?> <div class="col-md-2"> <div class="box box-primary"> <div class="box-header with-border"> <h3 class="box-title text-light-blue">Paiement</h3> <div class="box-tools pull-right"> </div> </div> <!-- /.box-header --> <div class="box-body"> <strong>Sous-total : <?php echo number_format ($total_ht,2) ?>€</strong><br> TVA : <?php echo number_format ($TVA,2) ?>€<br> Total : <?php echo number_format ($prix_ttc,2) ?>€<br> Payé : <br> Balance : </div> <!-- /.box-body --> </div> <!-- /.box --> </div>le message d'erreur correspond au champs :
$total_ht = $row['price'];
-
le message d'erreur vient du fait que certains champs de la chambre ne sont pas rempli. Sinon j'ai pas le message. Il faut que je fasse une vérifications?