Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 26
  1. #1

    get Eelemet By Id in php

    Ciao a tutti..
    Qualcuno, gentilmente potrebbe aiutarmi?

    praticamente, usando la classe DOMDocument di php per prendere il valore da un id, ma non ho ancora capito bene cosa non funziona... Il codice è il seguente:

    codice:
    <input type="hidden" id="code" name="code" value="<?php echo $e['IDProdotto']; ?>" />
    Codice PHP:
    $dom = new DOMDocument();
    $code=$dom->getElementById('code');
    echo 
    "Il valore dell'attributo con id 'code' è: ".$code
    Il problema è che non mi stampa la variabile $code (lo stesso vale se al posto di dom->getEl... scrivo $dom->getElementById('code').tagName; ).
    Se poi povo a modificare $dom->getElementById('code') in $dom->getElementById('code').value, mi scrive " Il valore dell'attributo con id 'code' è: value ".

    Ho provato a cercare in rete, ma non ho trovato risposte "adeguate"...

    Qualcuno, gentilmente, potrebbe aiutami? o spiegarmi meglio come funziona la classe DOMDocument..
    Non esiste un vero genio senza una piccola dose di follia.

  2. #2
    Utente di HTML.it L'avatar di Secta
    Registrato dal
    May 2002
    Messaggi
    365
    Codice PHP:
    $source '<input type="hidden" id="code" name="code" value="xxxxxxxxx" />';
    $dom = new DOMDocument();
    $dom->loadHTML($source);    
    echo  
    'Il valore dell\\'attributo value è' . $dom->getElementById('code')->getAttribute('value'); 
    ma se è tutto qui quello che devi fare usa

    Codice PHP:
    $source '<input type="hidden" id="code" name="code" value="xxxxxxxxx" />';
    preg_match('/id="code" name="code" value="(.*)"/'$source$value);
    echo 
    'Il valore dell\\'attributo value è' .  $value[1]; 
    Comunque nel caso specifico il valore di value è $e['IDProdotto']
    "Dai diamanti non nasce niente, dal letame nascon fiori."
    Fabrizio De Andrè

  3. #3
    Aspetta... mi spiego meglio..
    Praticamente, attraverso una query, mi estraggo da un database tutte le righe per una determinata categoria di prodotti:
    Codice PHP:
    $q=mysql_query("SELECT * FROM TABLE_Prodotti WHERE Categoria='$cat'") or die(mysql_error()); 
    con $cat = nome della categoria.
    Poi, attraverso una ciclo for, visualizzo tutte le righe:
    Codice PHP:
    if(mysql_num_rows($q)>0){
      for(
    $i=0;$i<mysql_num_rows($q);$i++){
        
    $e=mysql_fetch_array($q); 
    codice:
    <div class="portfolio-item portfolio-3-boxed">
      <input type="text" id="codice" value="<?php echo $e['IDProdotto']; ?>" />
      <div class="project-image image-overlay">
        <div class="project-image-inner">
          [img]./pics/prodotti/<?php echo $e['Img']; ?>[/img]
        </div>
      </div>
      <div class="project-description shadow">
        <h3>
    
    <?php echo declean($e['NomeProdotto']); ?></p></h3>
        <div class="portfolio-categories">
          <button id="opener" style="border: 1px solid #f3f3f3; background:#ececec; color: #000; border-radius: 3px; font-size: 11px;">COSA PENSI DEL PRODOTTO?</button>
        </div>
      </div>
    </div>
    Ora, al click del bottone si apre una finestra di popup nella quale il visitatore potrà mandare un messaggio (inserendo nome, cognome, mail e messaggio) per dire quanto il prodotto sia figo
    Praticamente devo fare in modo che la mia finestra di popup "memorizzi" il codice del prodotto ($e['IDProdotto']) per fare in modo che all'invio della mail io sappia su quale prodotto il visitatore ha premuto il bottone.

    Spero di essermi spiegato... Anche se sicuramente non è così..
    Non esiste un vero genio senza una piccola dose di follia.

  4. #4
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    @Secta BECCATO !!!
    vedi che reg exp sono comode a volte

    @Aristotele : Cmq prima studiare poi fare. Se vuoi usare DOM, prima devi capire cose' e come funziona cosa ti da a disposizione e quindi cosa restituiscono i metodi.
    Non puoi usar eil codice come ti pare.. ogni metodo ritorna un determinato oggetto,array,stringa,booleano o quello che sia ... e questo lo vedi solo studiando la documentazione o debuggando il codice.

    Codice PHP:

    $code
    =$dom->getElementById('code'); 

    var_dump($code); 
    prova a veder cosa ti restituisce ......

  5. #5
    @Virus_101: mi restituisce NULL.

    Comunque scusa sai se sei più sapiente di me, ma a me, queste cose, a scuola, non le hanno mai insegnate (ed è meno di una anno che ho finito - si, esatto, sono giovane ed inesperto). Il php l'ho dovuto imparare tutto da solo e non ho mai avuto a che fare con problemi di questo tipo.

    PENSAVO CHE IL FORUM DI HTML.IT FOSSE UNO STRUMENTO PER AIUTASI A VICENDA, NON UN SITO PER FARE A GARA A CHI E' MIGLIORE DELL'ALTRO!!!!!
    Non esiste un vero genio senza una piccola dose di follia.

  6. #6
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Nulla da dire riguardao l'esperienza e ti capisco pure io ho dovuto fare quasi da me in php.
    Certo e' che le guide sono molte e il sito php.net (che a suo tempo ho consumato) risponde a quasi tutte le domande.

    Io invito sempre a dare una letta alle documentazione poiche' si siamo qui per aiutarci ma spesso le domande si risolverebbero da sole studiando anche solo la doc ufficiale.

    Cmq ti da null perche' non trova il nodo. Altrimenti ti darebbe un oggetto .
    Quindi vuol dire che c'e' qualcosa che non va nel codice, nella fase di parsing del codice che passi o in quella di ricerca del nodo.

    Usa la soluzione con regular expression che per questa necessessità e' migliore.

    e non prendertela dai i commenti non sono quasi mai seri a parte quando si aprla di cose serie

  7. #7
    Ho già provto a guardare su php.net, ma non è che sia molto d'aiuto (almeno per me). Ho sfogliato anche molte altre giude, ma con risultati deludenti.

    Gentilmente potresti spiegarmi meglio di cosa si tratta questo "regular expression". Grazie
    Non esiste un vero genio senza una piccola dose di follia.

  8. #8
    Utente di HTML.it L'avatar di Secta
    Registrato dal
    May 2002
    Messaggi
    365
    Ok, ora ho capito. Prova con qualcosa del genere (modificalo e metti gli opportuni controlli)

    Codice PHP:
    <script type="text/javascript">
    <!--
    function pop(id) 
    {
      window.open('pagina.php?id=' + id, '', 'width=300, height=300');
    }
    //-->
    </script>

    [url="javascript:pop(<?php echo $e['IDProdotto']; ?>);"]Apri popup[/url]
    e in pagina.php

    Codice PHP:
    echo 'Id del prodotto => '$_GET['id']; 
    Comunque secondo me è meglio se usi un framework tipo jquery e ti crei delle finestre di dialogo... le popup non le ho mai sopportate
    "Dai diamanti non nasce niente, dal letame nascon fiori."
    Fabrizio De Andrè

  9. #9
    Utente di HTML.it L'avatar di Secta
    Registrato dal
    May 2002
    Messaggi
    365
    Originariamente inviato da Virus_101
    @Secta BECCATO !!!
    vedi che reg exp sono comode a volte
    [/php]
    Ahaha... in questo caso si
    "Dai diamanti non nasce niente, dal letame nascon fiori."
    Fabrizio De Andrè

  10. #10
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Originariamente inviato da Secta
    Comunque secondo me è meglio se usi un framework tipo jquery e ti crei delle finestre di dialogo... le popup non le ho mai sopportate
    +1111111100000000 concordo pienamente odio anche io i popups non li ho mai sofferti

    @aristotole queste ignote e fantasmagoriche "regular expressions" sono delle "cose" che ti permettono di eseguire ricerce di sottostringhe in un testo inserendo opportuni controlli per poter espandere le regole definite puoi estrapolare/controllare molte cose da un testo complesso di qualsiasi genere. E' difficile da spiegare in poche riche, se non hai mai visto cosa sono le grammatiche e cosa sono i linguaggi. Comuinque puoi sempre partire da una ricerca veloce su google troverai un sacco di info a riguardo ...

    ma puoi anche partire da qui : http://php.html.it/articoli/leggi/85...ioni-regolari/

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.