Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Pagina che funziona 1 volta si e 1 no

    Ciao a tutti.
    Sono relativamente nuovo alla programmazione web, ed ho un problema che mi sta facendo impazzire.
    Sto sviluppando un'applicazione php per la gestione del personale nel mio ufficio, ed il problema è questo: la pagina funziona una volta si e una no

    questo il codice:
    Codice PHP:
    ...
    //stabilisco la connessione
    $conn mysql_connect($dbHost$dbUsr$dbPwd)
            or die(
    "Connessione al DB non riuscita: " mysql_error());
    //seleziono il DB    
    mysql_select_db($dbName);

    $queryMat="SELECT MATRICOLA FROM DIPENDENTI d where (d.COGNOMENOME = '$Dipendente')";
        
    //composizione della query
        
    $sth=mysql_query($queryMat,$conn) or die('Errore, query di selezione fallita'.mysql_error());
        
    //controllo le estrazioni della matricola...
        
    $numrighe=mysql_num_rows($sth); 
        
    //...e verifico che sia univoca.
        
    if ($numrighe==1
            { 
    //begin1
            //estraggo il valore della riga
            
    $Riga=mysql_fetch_row($sth);
            
    //e lo attribuisco alla var Matricola
            
    $Matricola=$Riga[0];
            }
    //end1
            //controllo per i duplicati di matricola :(
            
    else echo ('Troppe matricole!');

    //Controllo se ricerca semplice o avanzata
    if ($_SESSION["Mandante"]=='Ricerca Semplice')
    {
    //begin ricerca semplice
        
    if ($_POST["chkOrdGiust"]=='SI')
        {
    //ordina per giustificativi
        
    $queryAssenze="SELECT DATAASS,CAUSALE,SEGIUSTIFICATO FROM AGENDA where Matricola ='$Matricola'             order by SEGIUSTIFICATO desc";
        }
        else
         {
        
    $queryAssenze="SELECT DATAASS,CAUSALE,SEGIUSTIFICATO FROM AGENDA where Matricola ='$Matricola' order by DATAASS";
        }
        
    //composizione della query
        
    $sthAss=mysql_query($queryAssenze,$conn) or die('Errore, query di selezione fallita '.mysql_error    ());

    ...

    //questo mi serve per pubblicare in tabella i risultati

     
    $Verde ='[img]images/verde.gif[/img]';
                 
    $Rosso ='[img]images/rosso.gif[/img]'
                 
    $a=0;
                 
    //segue la riga incriminata...                            
                    
    while ($rigaAssenza mysql_fetch_row($sthAss))
                                { 
    $FData=FormattaDataIT($rigaAssenza[0]);
                                if ((
    $a%2)==0)
                                    {echo 
    '<tr class="RigheTabPari">';    }//stile per righe pari
                                    
    else
                                    {echo 
    '<tr class="RigheTabDisPari">';}//stile per righe dispari
                                    
                                  
    echo ('<td><div align="center">[b]'.$FData.'[/b]</div></td>');
                                echo (
    '<td><div align="center">[b]'.$rigaAssenza[1].'[/b]</div></td>');
                                if ((
    $rigaAssenza[2])=='SI')
                                    {echo (
    '<td><div align="center">[b]'.$Verde.'[/b]</div></td>');}//stile per righe pari
                                    
    else
                                    {echo (
    '<td><div align="center">[b]'.$Rosso.'[/b]</div></td>');}//stile per righe dispari
                                
    echo '</tr>';
                                
    $a+=1;                        
                                }
                        
    //mysql_free_result($sthAss);
                        
    mysql_close($conn); 
    Il messaggio è : Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\wamp\www\Ermes\Griglia_Agenda_Interr.php on line 216

    Sarebbe già tanto se non funzionasse, ma il fatto che funziona 1 volta si e 1 no mi fa esaurire.
    Aiutatemi, sto impazzendooooooooooooo.

    Uso wamp con Apache/2.0.59 (Win32) , php 5.2.0, e mysql 5.0.27.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Lo dico sempre a tutti
    Fate un echo della query prima di eseguirla quando avete problemi
    Così ci evitate di cercare di capire cosa ci va a finire per poi capire dov'è l'errore... ci fate cercare direttamente l'errore

    Metti quindi echo della query prima di mysql_query e postala

  3. #3
    Originariamente inviato da Leilond
    Lo dico sempre a tutti
    Fate un echo della query prima di eseguirla quando avete problemi
    Così ci evitate di cercare di capire cosa ci va a finire per poi capire dov'è l'errore... ci fate cercare direttamente l'errore

    Metti quindi echo della query prima di mysql_query e postala
    Questo è l'echo della query:

    SELECT DATAASS,CAUSALE,SEGIUSTIFICATO FROM AGENDA where Matricola ='04001263' order by DATAASS

    Premetto che ho una buona competenza in sql, e mi sarei accorto di un problema nelle query :P

    Inoltre se il problema fosse nelle query, l'applicativo non funzionerebbe mai, invece va 1 volta si e 1 no

    Sembrerebbe un problema di gestione della memoria, rimediabile con un new, ma dovrei overloadare la classe per fare un new, e spero di non ricorrere a ciò :P

  4. #4
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    edit
    Codice PHP:
    if ($_SESSION["Mandante"]=='Ricerca Semplice'
    Non vedo dove chiudi questa if
    Se la chiudi dopo l'esecuzione della query ma prima della "riga incriminata", chiaro che quando cerchi di leggere il risultato non trovi niente se la if ha dato esito negativo perché la query non è stata eseguita

  5. #5
    GRANDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE!
    Mi hai aiutato molto, ti sono debitore...
    La pagina contiene circa 500 righe di codice, ed è un problema ...
    Hai qualche strumento per la rilevazione di errori di questo tipo (missing brackets,...)?

  6. #6
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Quando gli errori sono solo di logica è un po' difficile che uno strumento riesca a individuarli

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.