Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 14 su 14

Discussione: Help applicazione PHP

  1. #11
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    23
    Quote Originariamente inviata da nik600 Visualizza il messaggio
    avrai un array di articoli su cui ciclare ed eseguire le varie query, per dare una risposta più esaustiva bisogna capire come invii dal browser al server le informaizoni su questa richiesta (GET o POST? come json o come form?)
    Ciao
    Ciao Nik, rieccomi dopo il rientro dalle ferie... innanzitutto ancora grazie per come mi hai brillantemente suggerito per risolvere il punto 1 (nel frattempo ho risolto anche il punto 3)
    In merito al punto 2. Pensavo ad un form. La pagina mostrata, estrae tutti gli articoli presenti nella tabella di servizio ed inseriti precedentemente dall'agente, permettendo la modifica della sola quantità (in un campo input type="text"). Alla pressione del tasto "Modifica", vorrei che il sistema facesse tanti UPDATE delle quantità, quanti sono gli articoli della tabella di servizio. Come faccio? Grazie

  2. #12
    Ciao

    in questo caso devi creare due cose:
    1 - il form dinamico contenente la tabella degli articoli di servizio
    2 - le query di update, una per ogni articolo con la quantità selezionata dall'utente

    Come al solito ci sono diverse strade... una può essere quella di sfruttare la primary key della tabella di appoggio per fare gli update (se esiste).

    In tal caso il codice del punto 1 sarebbe il seguente:

    Codice PHP:

    $sql
    ="select * from tabella_servizio where id_agente=xx";

    foreach (
    $conn->query($sql) as $row) {
    $html.='<p>Articolo:'.$row["codice_articolo"].'<input type="text" name="update_quantita_'.$row["id_tabella_servizio"].'" value="'.$row["quantita"].'" /><br/>';

    mentre il codice del punto 2 sarà

    Codice PHP:

    $sql 
    'update tabella_servizio set quantita=:quantita where id_tabella_servizio=:id_tabella_servizio and agente=xx';
    $sth $conn->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));

    // ciclo in tutte le chiavi dell'array POST e mi creo 
    foreach($_POST as $k=>$v){

    if(
    mb_strpos($k,"update_quantita_")===0){
    $id_tabella_servizio=mb_substr($k,mb_strlen("update_quantita_"));
    $sth->execute(array(':quantita' => $v':id_tabella_servizio' => $id_tabella_servizio));
    }


    Ciao
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  3. #13
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    23
    Quote Originariamente inviata da nik600 Visualizza il messaggio
    Ciao

    mentre il codice del punto 2 sarà

    Codice PHP:

    $sql 
    'update tabella_servizio set quantita=:quantita where id_tabella_servizio=:id_tabella_servizio and agente=xx';
    $sth $conn->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));

    // ciclo in tutte le chiavi dell'array POST e mi creo 
    foreach($_POST as $k=>$v){

    if(
    mb_strpos($k,"update_quantita_")===0){
    $id_tabella_servizio=mb_substr($k,mb_strlen("update_quantita_"));
    $sth->execute(array(':quantita' => $v':id_tabella_servizio' => $id_tabella_servizio));
    }


    Ciao
    Ciao Nik,
    prima di effettuare un brutale copia e incolla vorrei capire esattamente cosa fa il tuo codice. Il punto 1 l'avevo risolto autonomamente, semmai ho utilizzato un "NAME" per il campo "quantità" leggermente diverso da quello da te suggerito. Io ho scritto
    codice:
    name="quantita_<?php echo $row['codicearticolo'] ?>"
    E' del punto 2 che non comprendo appieno il significato, premesso che non ho una primary key nella tabella di servizio. Ti ricordo che al suo interno ci sono SOLO i codici articolo (univoci per ciascun agente), l'identificativo dell'agente e la quantità. Grazie

  4. #14
    Ciao

    puoi fare anche come hai detto tu:

    codice:
    name="quantita_<?php echo $row['codicearticolo'] ?>"
    ma il problema è che se il codice articolo contiene spazi o " ti "rompe" il tag html.

    Se non hai la chiave primaria la cosa migliore che puoi fare è usare due campi, uno di tipo hidden (che conterrà il codice dell'articolo) e uno di tipo text (che conterrà la quantità).

    Per sapere come relazionare i campi basta che gli metti un prefisso o un suffisso comune, ad esempio:

    codice:
    Articolo 05-3434:
    <input type="hidden" name="campo_articolo_1" value="05-3434" />
    <input type="text" name="campo_quantita_1" value="2" />
    <br/>
    
    Articolo 05-3435:
    <input type="hidden" name="campo_articolo_2" value="05-3435" />
    <input type="text" name="campo_quantita_2" value="2" />
    <br/>
    
    Articolo 05-3436:
    <input type="hidden" name="campo_articolo_3" value="05-3436" />
    <input type="text" name="campo_quantita_3" value="2" />
    <br/>
    Poi lato server cicli sui valori di $_POST e ti leggi i rispettivi valori (esempio, se stai leggendo i valori di campo_articolo_x la rispettiva quantità la troverai in campo_quantita_x).

    Ciao
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

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.