Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    36

    Combinare tra loro diversi array

    Non credo che il titolo sia molto corretto ma non me venivano altri in mente.


    Immagine spiegativa:
    prds.jpg


    Io ho questa parte di script:


    Codice PHP:
    $submit $_POST['submit'];
    if(isset(
    $submit)){
    $nome_membri array_filter(array_map(null,  $_POST['nome_membri']));
    $lista_nome_membri =   "".implode("','"$nome_membri)."";
      if(empty(
    $lista_nome_membri))  
      {  
      die (
    "Devi selezionare almeno un membro!");
      }
    $sql_id_membri "SELECT * FROM `membri` WHERE `nome` IN ('$lista_nome_membri')";
    $res_sql_id_membri mysql_query($sql_id_membri) or die (mysql_error());
    while(
    $riga_id_membri mysql_fetch_array($res_sql_id_membri)){
    $id_membri $riga_id_membri['id_user'];
    }
    foreach(
    $nome_membri as $key => $value){

       if(isset(
    $value)){     
          echo 
    'Variable: '.($key+1).' is set to '.$value.'<br/>';
       }
    }


    come si vede dall'immagine ho 10 input (che sono creati dinamicamente quindi ho <input type="text" name='nome_membri[]'>) dove vengono scritti 10 nomi, da questi nomi mi ricavo gli id dei vari nomi.
    Ora io devo aggiornare una tabella che è divisa in id | id_membro1 | id_membro2 ... id_membro10 | confirm_membro1 | confirm-membro2 ... confirm_membro10 | id_capo


    Nello script $value mostra i nomi inseriti negli input e $key quale input è stato settato (se il primo, il secondo o il decimo ad esempio), non ho problemi a crearmi la query con i nomi ma chiaramente devo associare ad ogni nome il suo id così da potermi fare la query corretta.


    Esempio: giovanni ha id 20 e luca ha id 30 e sono rispettivamente nell'input 6 e 8 quindi la query dovrebbe essere "UPDATE tabella SET id_membro6 = 20, id_membro8 = 30 WHERE id_capo = $id_capo"


    idee?
    Spero di essere stato chiaro e spero di ricevere una risposta visto che non so più dove sbattere la testa .
    Grazie anticipatamente!
    Ultima modifica di furion89; 12-12-2013 a 01:51

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    36
    Non so se ogni volta che posto qua non ricevo risposte perchè chiedo cose troppo difficili o perchè non mi piego bene

  3. #3
    due cose: la prima è che non si capisce molto di come hai fatto le cose e del perchè ci sarebbe nel database un id_member6 collegato all'input 6... insomma sono cose che non si fanno...

    vabbeh senza che ti faccio la paternale sulla qualità della programmazione, non ho capito molto il problema anche perchè hai scritto troppo (per la mia attuale capacità di concentrazione) e in maniera "strana".

    Diciamo che quindi nel tuo database hai una tabella con una trentina di colonne: id_membro0..29, e tu vuoi inserire nell'i-esimo id_membro il valore dell'i_esimo input...

    beh se tu hai una serie di

    codice:
    <input type="text" name="nome_membro[]" value="" />
    è OK. Per non spezzare la posizione con quelli già inseriti (che immagino sia il problema che tu hai ora), ti basta inserire un hidden al posto di un text quando l'utente è già stato inserito:

    codice:
    <input type="hidden" name="nome_membro[]" value="My Name is Luka!" />
    se vuoi sapere se è da processare o meno

    codice:
    <input type="hidden" name="nuovo_membro[]" value="1" /> <!-- 0 se è già stato selezionato -->
    oppure invece di affidarti all'indice dell'array nome_membri, usi direttamente due campi:

    codice:
    <input type="text" name="nome_membri[]" value="" />
    <input type="hidden" name="field_membri[]" value="id_membroX" />
    Oppure semplicemente impari a strutturare nel database una relazione molti-a-molti decente
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    36
    l'input 6 è collegato ad id_membro6 per una questione di facilità ma se poi non è così lo posso tranquillamente cambiare.
    Cioè io ho questi 10 campi sulla tabella(ad esempio chiamata tabella_da_aggiornare) che sono id_membro1-10 e devo aggiornarli in base a quanti nomi posta l'utente, se l'utente posta 2 nomi io di quei 2 nomi devo ricavarmi l'id (ad esempio dalla tabella membri) e aggiornare la tabella_da_aggiornare.
    La tabella della foto è strutturata così: se il campo id_membro1-10 è vuoto allora mostro l'input per poterlo inserire, se è settato ma l'utente non ha ancora accettato mostro l'input con value uguale al nome così da poterlo cambiare con un altro nome, se è settato e l'utente ha accettato allora mostro semplicemente il nome.
    Nel caso di esempio della foto a giovanni e luca è stato inviato l'invito e lo hanno accettato, quindi io ho ancora 8 campi id_membro da dover settare.
    Spero di essere stato più chiaro ora...!
    Quindi tu come faresti?
    P.S: io ho già il campo hidden da te detto, il mio unico problema è aggiornare la tabella inserendo gli id dei nomi nei vari restanti campi vuoti!

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.