Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 16 su 16
  1. #11
    l'errore è nella classe DB:

    Codice PHP:
    class DB {
        public function 
    recordArray($sql) {
          
    $array = array();
          
    $mysqli = new mysqli('localhost''user''password''cassaGestionaleNegozioNicola');
          if (
    $mysqli) {
            if (
    $result $mysqli->query($query)) {
              while (
    $row $result->fetch_assoc())
                
    $array[] = $row;
              
    $result->close();
            } else
                 die (
    "Errore nella query: " $mysqli->error);
          } else
               die(
    "Errore nella connessione: " $mysqli->connect_error);
          
    $mysqli->close();
          return 
    $array;
        }
      }
      
    $db = new DB(); 
    c'era una parentesi graffa in più che PHP non riusciva a capire cosa andasse a chiudere!

  2. #12
    Ciao si mi ero accorto della parentesi di troppo li infatti nell esempio l'avevo tolta. Però continua a darmi quell errore, credo ci sia qualche errore di apici credo

    $tab .= '<td><input type="button" value="..." onclick="showWindow('MODIFICA ORDINI', 'modificaOrdini?codice=' . $row['codicebarre'] . '', 500, 500)"></td>';

  3. #13
    capito! te racchiudi la stringa $tab fra apici. Ma all'interno di essa usi pure degli apici e zend, il parser di PHP pensa che la stringa finisca quando incontra un secondo apice! quindi nella stringa che hai riportato

    Codice PHP:
    $tab .= '<td><input type="button" value="..." onclick="showWindow('MODIFICA ORDINI', 'modificaOrdini?codice=' . $row['codicebarre'] . '', 500, 500)"></td>'
    zend pensa che la stringa da utilizzare sia questa:

    Codice PHP:
    $tab .= '<td><input type="button" value="..." onclick="showWindow('
    per risolvere il problema basta far precedere l'apice dallo slash dove vuoi che sia trattato come un simbolo qualunque

  4. #14
    Ciao, allora ho sempre problemi, ho per evitare problemi, commentato le righe di codice dove stampava la tabella per il problema degli apici, per risolverlo in un secondo momento, ho fixato qualche atlro erroruccio tipo:

    codice:
     for ($i=1; $i<$modificati; $i++[img]images/smilies/blink.gif[/img]
    ho eliminato il tag img sostituendolo con una parentesi tonda

    il codice che ne esce è questo

    codice:
    <?php
    class DB {
        public function recordArray($sql) {
          $array = array();
          $mysqli = new mysqli('localhost', 'root', 'password', 'cassagestionalenegozionicola');
          if ($mysqli) {
            if ($result = $mysqli->query($query)) {
              while ($row = $result->fetch_assoc())
                $array[] = $row;
              $result->close();
            } else
                 die ("Errore nella query: " . $mysqli->error);
          } else
               die("Errore nella connessione: " . $mysqli->connect_error);
          $mysqli->close();
          return $array;
        }
      }
      $db = new DB();
      // valori passati dopo la ricarica di questa pagina e la chiusura di modificaOrdini.php
      $modificati = $_COOKIE['modified'];
      $recID = $_COOKIE['recID'];
      // metto in un array i codici a barre degli articoli già modificati
      for ($i=1; $i<$modificati; $i++)
        $arrCodici[] = $_POST['codice-' . $i];
    ?>
    <!DOCTYPE html>
    <html>
      <head>
        <title>DataTables</title>
        <meta charset="UTF-8">
        <script>
          function showWindow(sNomeWin, sPage, iWidth, iHeight) {
            var handle = window.open(sPage, sNomeWin, 'width=' + iWidth + ', height=' + iHeight + ', 0, 0, 0, 0, 0, 0, 0 ');
          }
        </script>
      </head>
      <body>
        <div id="home">
          <div data-role="header"><h1>EasyManagement</h1></div>
            <div>
              <table id="datatables" class="display">
                <thead>
                  <tr>
                    <th>Codice Barre</th>
                    <th>Nome Articolo</th>
                    <th>Quantità</th>
                    <th>Soglia Minima</th>
                    <th></th>
                  </tr>
                </thead>
                <tbody>
                <form id="articoli" method="post">
                <?php
                  $query = "SELECT a.nomearticolo,a.soglia,q.quantita,d.codicebarre FROM articolidett a, articoliquantita q, articoli d where a.codarticolo = d.codarticolo and a.codarticolo = q.codarticolo;";
                  $rows = $db->recordArray($query);
                  if (count($rows)) {
                    while ($row = mysql_fetch_array($result)) {
                      $tab = '<tr><td>' . $row['codicebarre'] . '</td><td>' . $row['nomearticolo'] . '</td>';
                      $tab .= '<td>' . $row['quantita'] . '</td><td>' . $row['soglia'] . '</td>';
                      //$tab .= '<td><input type="button" value="..." onclick="showWindow('MODIFICA ORDINI', 'modificaOrdini?codice=' . $row['codicebarre'] . '', 500, 500)"></td>';
                      $tab .= '</tr>';
                    } ?>
                </form>
                </tbody>
              </table>
              <?php if ($modificato) { ?>
              <?php // ci sono dei record modificati da visualizzare ?>          
              <table id="tableOrdini" class="display">
                <thead>
                  <tr>
                    <th>Codice Barre</th>
                    <th>Nome Articolo</th>
                    <th>Quantità</th>
                    <th></th>
                  </tr>
                </thead>
                <tbody>
                <?php 
                  for ($i=1; $i<=$modificati; $i++) {
                    $tab = '<tr><td>' . $row['codicebarre'] . '</td><td>' . $row['nomearticolo'] . '<input type="hidden" name="codice-"' . $i . '"></td>';
                    $tab .= '<td>' . $row['quantita'] . '</td><td>' . $row['soglia'] . '</td>';
                   // $tab .= '<td><input type="button" value="..." onclick="showWindow('MODIFICA ORDINI', 'modificaOrdini?codice=' . $row['codicebarre'] . '', 500, 500)"></td>';
                    $tab .= '</tr>';
                  }
                  // aggiungo in fondo il record appena modificato
                  $row = $db->recordArray("SELECT * FROM articoliDett WHERE codiceBarre = " . $recID);
                  $tab = '<tr><td>' . $row['codicebarre'] . '</td><td>' . $row['nomearticolo'] . '</td>';
                  $tab .= '<td>' . $row['quantita'] . '</td><td>' . $row['soglia'] . '</td>';
                  $tab .= '</tr>';
                ?>        
                </tbody>
              </table>
              <?php } ?>
            </div>
        </div>
      </body>
    </html>
    Mentre l'errore che visualizzo sul browser:

    Parse error: syntax error, unexpected $end in /membri/easyeuc/easyOrdine/creaOrdine2.php on line 98

  5. #15
    vuol dire che probabilissimo che non hai chiuso correttamente un blocco di codice con una parentesi (in generale quelle graffe). E' l'errore più comune e da parecchi grattacapi per risolverlo fortuna che ho un bel programma, WEbuilder che controlla la sintassi deglis cript PHP...l'errore sta qua

    Codice PHP:
    <?php
                  $query 
    "SELECT a.nomearticolo,a.soglia,q.quantita,d.codicebarre FROM articolidett a, articoliquantita q, articoli d where a.codarticolo = d.codarticolo and a.codarticolo = q.codarticolo;";
                  
    $rows $db->recordArray($query);
                  if (
    count($rows)) {
                    while (
    $row mysql_fetch_array($result)) {
                      
    $tab '<tr><td>' $row['codicebarre'] . '</td><td>' $row['nomearticolo'] . '</td>';
                      
    $tab .= '<td>' $row['quantita'] . '</td><td>' $row['soglia'] . '</td>';
                      
    //$tab .= '<td><input type="button" value="..." onclick="showWindow('MODIFICA ORDINI', 'modificaOrdini?codice=' . $row['codicebarre'] . '', 500, 500)"></td>';
                      
    $tab .= '</tr>';
                    } 
    ?>
                </form>
                </tbody>
    la riga con if (count($rows)) { non è chiusa da una parentesi graffa infatti e va messa qua

    Codice PHP:
    <?php
                  $query 
    "SELECT a.nomearticolo,a.soglia,q.quantita,d.codicebarre FROM articolidett a, articoliquantita q, articoli d where a.codarticolo = d.codarticolo and a.codarticolo = q.codarticolo;";
                  
    $rows $db->recordArray($query);
                  if (
    count($rows)) {
                    while (
    $row mysql_fetch_array($result)) {
                      
    $tab '<tr><td>' $row['codicebarre'] . '</td><td>' $row['nomearticolo'] . '</td>';
                      
    $tab .= '<td>' $row['quantita'] . '</td><td>' $row['soglia'] . '</td>';
                      
    //$tab .= '<td><input type="button" value="..." onclick="showWindow('MODIFICA ORDINI', 'modificaOrdini?codice=' . $row['codicebarre'] . '', 500, 500)"></td>';
                      
    $tab .= '</tr>';
                    }
                 
    // l'errore era nella sottostante graffa non chiusa!
                 
    ?>
                </form>
                </tbody>

  6. #16
    Mi sembra che questo 3D di PHP ad oggetti ormai abbia ben poco. Il tutto si è ridotto ad una mera correzione di banali errori sintattici che basterebbe un minimo di accortezza per evitare!!!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.