Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Problema script PHP

  1. #1

    Problema script PHP

    Salve a tutti, sto procedendo al trasferimento del sito web dell'azienda presso cui lavoro su un nuovo host e sto avendo molti problemi nel configurare un file php e mysql per la sezione del sito relativa alle certificazioni.
    Ho dei problemi nel passaggio dei dati da un .csv alle tabelle mysql....visto che il php non è stato creato da me, ho dei problemi a capirne il funzionamento, qualcuno di voi potrebbe spiegarmi cosa fa il pezzo di codice successivo???

    $norma = $arr2[9];
    $sql = "SELECT id FROM tcert WHERE nome='$norma' LIMIT 0,1";
    $res = mysql_query($sql);
    $num = mysql_num_rows($res);
    if($num > 0) {
    list($idNorma) = mysql_fetch_array($res);
    } else {
    $sql = "INSERT INTO tcert (nome) VALUES ('$norma')";
    $res = mysql_query($sql);
    $sql = "SELECT id FROM tcert WHERE nome='$norma' LIMIT 0,1";
    $res = mysql_query($sql);
    list($idNorma) = mysql_fetch_array($res);
    }
    $arr2[9] = $idNorma;

    $ea1 = $arr2[10];
    $sql = "SELECT id FROM sett WHERE nome='$ea1' LIMIT 0,1";
    $res = mysql_query($sql);
    $num = mysql_num_rows($res);
    if($num > 0) {
    list($idea1) = mysql_fetch_array($res);
    } else {
    $sql = "INSERT INTO sett (nome) VALUES ('$ea1')";
    $res = mysql_query($sql)

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503

    Re: Problema script PHP

    [php]
    $norma = $arr2[9]; //prende il valore in posizione 9 dell'array $arr
    //imposta una query che prenderà al più il primo risultato
    $sql = "SELECT id FROM tcert WHERE nome='$norma' LIMIT 0,1";
    $res = mysql_query($sql); //effettua la query
    $num = mysql_num_rows($res); //numero di record presi dalla query
    if($num > 0) { //se ne è stato preso almeno 1
    list($idNorma) = mysql_fetch_array($res); //inserisce il risultato in un array
    } else { //se non è stato trovato niente
    $sql = "INSERT INTO tcert (nome) VALUES ('$norma')"; //nuova query
    $res = mysql_query($sql); //esecuzione query, ma il risultato non è usato... boh
    //altra query che prenderà al più 1 record (il primo trovato)
    $sql = "SELECT id FROM tcert WHERE nome='$norma' LIMIT 0,1";
    $res = mysql_query($sql); //esecuzione query che sovrascrive il risultato di quella prima... boh
    list($idNorma) = mysql_fetch_array($res); //met

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Vabbè, non mi fa mettere tutto il codice.
    Ma fa sempre le stesse cose.

  4. #4
    Grazie per la risposta, comunque ho risolto.
    Ho cancellato la riga finale (che non sono riuscito a postare) e l'ho riscritta per intero....ora mi passa tutte le info e le mette nelle colonne giuste.

    Solo che il problema è ora estrapolare i dati per la ricerca.

    Io ho un find.php già creato ma che però mi restituisce errore....ora provo a postare il codice sperando non si blocchi di nuovo il forum come stamane.


    Codice PHP:
    include('\inc\mysql.php');
    $p $_GET['p']; 
    if(
    $p == "") { $p 0; } 
    $sql "SELECT COUNT(*) FROM db WHERE id != '' $prov $azienda $reg $citta $ncert $scopo"
    list(
    $count) = mysql_fetch_row(mysql_query($sql)); 
    $pg 10
    $p2 $p 1
    $p $p $pg
    $num2 ceil($count/$pg);   
    //Creazione Pagine 
    $sql "SELECT * FROM db WHERE id != '' $tcert $prov $azienda $reg $citta $ncert $scopo ORDER by azienda LIMIT $p$pg"
    $res mysql_query($sql) or die("Impossibile mandare la query"); 
    $num mysql_num_rows($res);
    while(list(
    $azienda,$cf,$sede,$via,$cap,$citta,$prov,$reg,$naz,$norma,$sett1,$sett2,$sett3,$sett4,$datap,$datar,$datav,$scopo,$esclusione,$ncert,$org,$accr,$stato) = mysql_fetch_array($res)) { 

    $tcert tcert($tcert); 
    $accr accr($accr); 
    $scert scert($id); 
    $sett1 sett($sett1); 
    $sett2 sett($sett2); 
    $sett3 sett($sett3); 
    $sett4 sett($sett4); 
    $norma tcert($norma); 
    $es es($es); 
    dove mi risponde con: "impossibile inviare la query" Qualcuno mi aiuta per piacere?

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    In SQL il "diverso" è <> non !=

  6. #6
    Ciao, grazie per il suggerimento, ho provveduto a cambiare tutti gli != con <> ma il risultato è sempre lo stesso "Impossibile mandare la query"

    Il bello è che se faccio la ricerca senza immettere dati nei campi di ricerca,mi mostra tutto il db ma sempre con dati sfalsati (in pratica mi restituisce un numero nel campo "azienda" e l'unica cosa che è a suo posto è l'indirizzo), mentre se scrivo qualcosa nei campi mi da "impossibile mandare la query"......HELP

  7. #7
    Cosa contengono tutte quelle variabili nella clasuola WHERE in questa query?
    codice:
    SELECT * FROM db WHERE id != '' $tcert $prov $azienda $reg $citta $ncert $scopo ORDER by azienda LIMIT $p, $pg
    stampa la variabile $sql invece di eseguire la query.

  8. #8
    Ehm..... ...non sono molto pratico di SQL, sono un semplice impiegato che si occupa di altro a cui è stato dato questo ingrato compito....sto imparando un pò di SQL tentando di aggiustare questo sito, ma.....come si stampa la variabile $sql?

    Comunque nel frattempo mi sono reso conto che mancava il campo $id in una query, l'ho aggiunto e ora i dati non sono più sfalsati, c'è sempre qualcosa che non va, ma quando eseguo la ricerca scrivendo nei campi non mi da errore, mi da errore se invece scelgo la tendina della certificazione (tcert), e in particolare mi da questo errore qua:

    Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in find.php on line 23
    Impossibile mandare la query

  9. #9
    Originariamente inviato da Mikypan81
    Ehm..... ...non sono molto pratico di SQL, sono un semplice impiegato che si occupa di altro a cui è stato dato questo ingrato compito....sto imparando un pò di SQL tentando di aggiustare questo sito, ma.....come si stampa la variabile $sql?
    Almeno il PHP lo conosci?
    Codice PHP:
    echo $sql

  10. #10
    Grazie ancora per la pazienza, di PHP ne capisco poco....nel frattempo smanettando sul file ho aggiustato tutti i campi riuscendo a visualizzare tutto ciò che mi serve.

    Ora l'unico problema resta nella ricerca quando si seleziona da menù a tendina....nel form per la ricerca ne ho 3 di menù a tendina:

    Se seleziono qualcosa dalla tendina della provincia mi esce "la ricerca non ha trovato nessun risultato".

    Se seleziono qualcosa dalla tendina della provincia mi esce "la ricerca non ha trovato nessun risultato".

    Se seleziono qualcosa dalla tendina del tipo certificato mi da errore
    Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in find.php on line 25
    Impossibile mandare la query

    Poi volevo sapere se era possibile in qualche modo inserire un controllo sul campo del Codice Fiscale, perchè se si tratta di ditte individuali abbiamo il codice fiscale della persona fisica e con questo non ho problemi, mentre per i C.F. delle aziende (alias Partita IVA) mi viene sempre omesso lo 0 iniziale che c'è in molti casi....non c'è modo di aggiungerlo??? Ho notato che dal valore viene troncato lo 0 già nel DB Mysql.

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.