Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    3

    Specifiare indice array con variabili

    Ciao a tutti,
    qualcuno saprebbe dirmi come posso esprimere l'indice di un array in php utilizzando una variabile e non un numero? All'interno di un ciclo for devo eseguire delle query di questo tipo :

    codice:
    <?php
    $ottieni_costo_servizio="SELECT `Prezzo` FROM  `servizio` WHERE `Descrizione`='$servizio[$i]'";
    ....
    ?>
    dove la variabile $i incrementa il suo valore ad ogni esecuzione del ciclo. Probabilmente però questa non è la sintassi corretta, perchè mi viene restituito errore. Credo che $i debba essere racchiuso entro qualcosa (apici e simili...), ma non so cosa.
    Spero possiate aiutarmi.
    Ciao Ciao javascript:void(0);

  2. #2

    Re: Specifiare indice array con variabili

    Originariamente inviato da ucciow
    Ciao a tutti,
    qualcuno saprebbe dirmi come posso esprimere l'indice di un array in php utilizzando una variabile e non un numero? All'interno di un ciclo for devo eseguire delle query di questo tipo :

    codice:
    <?php
    $ottieni_costo_servizio="SELECT `Prezzo` FROM  `servizio` WHERE `Descrizione`='$servizio[$i]'";
    ....
    ?>
    dove la variabile $i incrementa il suo valore ad ogni esecuzione del ciclo. Probabilmente però questa non è la sintassi corretta, perchè mi viene restituito errore. Credo che $i debba essere racchiuso entro qualcosa (apici e simili...), ma non so cosa.
    Spero possiate aiutarmi.
    Ciao Ciao javascript:void(0);
    La sintassi e' corretta. Bisogna vedere se e' corretta la sua valorizzazione. Stampa la variabile e vedi cosa hai ottenuto dal ciclo. Se hai un errore ... farlo conoscere e' meglio di lasciarlo indovinare.

    echo $ottieni_costo_servizio;

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    3

    Specifiare indice array con variabili

    Gli errori che mi vengono restituiti sono questi :

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\casesole\prenotazione_calcolo_costi.ph p on line 37

    Notice: Undefined offset: 2 in C:\wamp\www\casesole\prenotazione_calcolo_costi.ph p on line 35

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\casesole\prenotazione_calcolo_costi.ph p on line 37

    Le righe 35,36 e 37 cui si riferiscono sono queste ( nelle quali è compresa anche quella che ho postato precedentemente):

    codice:
    <?php
    ....
    $ottieni_costo_servizio="SELECT Prezzo FROM  servizio WHERE Descrizione=$servizio[$i]";
    $res_servizio = mysql_query($ottieni_costo_servizio);
    $costo_servizio = mysql_fetch_array($res_servizio);
    ....
    ?>

  4. #4
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Supponendo che Descrizione sia una colonna di tipo stringa ci mancherebbero gli apici - che hai messo nel tuo primo esempio però.

    Comunque, lo potresti fare così, però devi ancora fare attenzione perché non ti protegge ancora dagli sql injections (-> mysql_real_escape_string()).

    Codice PHP:
    $ottieni_costo_servizio=sprintf('SELECT Prezzo FROM  servizio WHERE Descrizione="%s"'$servizio[$i]);

    $res_servizio mysql_query($ottieni_costo_servizio);

    $costo_servizio mysql_fetch_array($res_servizio); 

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  5. #5
    metti la segnalazione dell'errore e stampa la query come gia' suggerito.

    $res_servizio = mysql_query($ottieni_costo_servizio) or die(mysql_error());

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    Utente bannato
    Registrato dal
    Apr 2009
    Messaggi
    530
    Non sa cos' è $i
    Se dichiarassi

    $i = 0;

    e poi la stringa della query, allora la var non rimane indefinita e qualcosa ne viene fuori; benché non ancora quello che vuoi, credo.

    Mi par di capire che tu debba ciclare la query; e poi il fetch, se ti puoi aspettare un resultset di più righe.

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.