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

    Come estrapolare record da questa select?

    Buon giorno, come faccio ad estrapolare il valore di ogni singolo record da questa query?l'ho vista da qualche parte e vorrei capire come funziona.

    codice:
    $sql =	"SELECT * FROM TBRASSEGNASTORICO WHERE dDataInsS like'%" . $mesiStorico ."%' order by nProgrS DESC";
    $rs= cExeQuery($sql, $Connessione);
    $MyError = cMyError("Errore nell'interrogazione DB a RASSEGNASTORICO:
    ".$sql);
    $nI=0;
    //cFetchAssoc è una funzione giusto per la cronaca.
    while($arrBacheca[$nI] = cFetchAssoc($rs)) {
        $nI++;
    }
    Grazie a tutti...

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    se ho capito male vorresti fare una cosa del genere:
    Codice PHP:
    while($arrBacheca[$nI] = cFetchAssoc($rs)) {
        echo 
    "campo1: ".$arrBacheca[$nI]['nomecampo1']." campo2: ".$arrBacheca[$nI]['nomecampo2'];
        
    $nI++;

    ciao

  3. #3
    ti ringrazio!si giusto però, quello che non mi spiego è... perchè, mi estrapola soltanto un record,quando in realtà ne dovrebbe estrarre 2?
    con l'estrazione dei valori devo comporre un lista di oggetti:
    codice:
    $nI=0;
    while($arrBacheca[$nI] = cFetchAssoc($rs)) {
    $nI++;
    //dentro questa pagina c'è il ciclo(for) che ho postato diseguito
        include ('risultatiStorico.php');
    }
    unset($arrBacheca[$nI]);
    vFreeResult($rs);
    codice:
    for ($nI=0; $nI<count($arrBacheca); $nI++) {
    echo "<table border=0 cellpadding=0 cellspacing=0 width=\"100%\">";
    echo "<tr>";
    echo "	<td align=\"left\" width=\"30%\">";
    echo "		<p class=\"max\">";
    echo "$arrBacheca[$nI]['cTestataS'] - $arrBacheca[$nI]['cOggettoS'] - $arrBacheca[$nI]['cDataInsS']
    //etc etc
    }";
    Non so se mi sono spiegato...

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    penso che questo include
    codice:
    include ('risultatiStorico.php');
    vada messo dopo il while.

    CMQ non capisco perchè fai un while e dopo fai il for per estrarre gli stessi dati...
    Se facessi una cosa così:
    Codice PHP:
    $nI=0;
    while(
    $arrBacheca[$nI] = cFetchAssoc($rs)) 
    {
     echo 
    "<table border=0 cellpadding=0 cellspacing=0 width=\"100%\">";
     echo 
    "<tr>";
     echo 
    "    <td align=\"left\" width=\"30%\">";
     echo 
    "        <p class=\"max\">";
     echo 
    "$arrBacheca[$nI]['cTestataS'] - $arrBacheca[$nI]['cOggettoS'] - $arrBacheca[$nI]['cDataInsS'] //ecc ecc";

     
    $nI++;


  5. #5
    magari... non posso in quanto,faccio una serie di controlli e dentro ogni controllo inserisco un include..capisci?

    CMQ,ho visto che cosi non mi estrapola niente.. lo fà soltanto con il for:

    codice:
    while($arrBacheca[$nI] = cFetchAssoc($rs)) { 
    echo "campo1: ".$arrBacheca[$nI]['nomecampo1']." campo2: ".$arrBacheca[$nI]['nomecampo2']; 
    $nI++; 
    }
    mi serve il valore della data perchè,tramite questa funzione $porzioneData = substr($data, 4, 4);,
    lo devo confrontare con quello che gli passo per $_POST['mesi'],e fare un controllo...

    mma..se sai come mai non mi estrapola i valori fammelo sapere grazie mille...molto gentile!!

  6. #6
    scusami, ho sbagliato a scrivere il nome di un campo cDataInsS in realtà è dDataInsS..adesso lo estrapola!!
    Scusami ancora...

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    Originariamente inviato da ANTAGONIA
    scusami, ho sbagliato a scrivere il nome di un campo cDataInsS in realtà è dDataInsS..adesso lo estrapola!!
    Scusami ancora...
    e di che?
    L'importante è che ora ti funzioni...
    CMQ se vuoi confrontare un mese che gli inserisci tu con una data presente nel Db, senza stare a estrapolare dati, puoi farlo direttamente in sql...

    Ti metto un esempio tratto da questa pillola
    http://forum.html.it/forum/showthrea...readid=459634:
    codice:
    MONTH(date) - Da come risultato il n. del mese estratto da una data,
    nell'intervallo 1-12.
    
    SELECT MONTH(NOW()); => 5 n. del mese di maggio.
    SELECT * FROM tabella WHERE MONTH(campo_data) = 5 AND YEAR(campo_data)= 2003;
    Rendera' tutti i record con data inserita nel maggio 2003.
    prova a vedere se ti può tornare utile...

    Ciao

  8. #8
    ti ringrazio sei stato molto gentile...alla prox!!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.