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

    [Array e tabelle]Errori o modifiche?

    Ciao a tutti,
    sto creando una funzione che permetta di estrarre dei valori da una tabella.
    I nomi dei campi(separati da '&'), il nome della tabella e l'id utente li passo come parametro.
    Ho pensato ad un codice del genere:
    Codice PHP:
    function get($parametro,$id$tabella){
        
    $parametri explode("&",$parametro);  //esplodo i campi
        
    $numero count($parametri); 
        for(
    $n 0$n <= $numero$n++){
            
    $stringa $stringa "," $numero[$n];
        } 
    //creo la stringa da passare alla query
        
    $selPg $conn->query("SELECT ".$stringa." FROM ".$tabella." WHERE uid = ".$id."LIMIT 1") or die("Errore nella selezione. Per favore, controllare il file inc/funzioni.php");
        
    $rowPg $selPg->fetch_array(MYSQLI_NUM);
        
    $result = array(); //creo un array vuoto
        
    for($n 0;$n <= $numero;$n++){
            
    $result[$numero[$n]] = $rowPg[$n];
        } 
    //popolo l'array
        
    return $result;

    Cosa ve ne pare?
    Può andare? (devo ancora provarlo)
    Ci sono altri metodi per una cosa del genere?
    Grazie a tutti

  2. #2

  3. #3
    Qui farei

    Codice PHP:
        $parametri explode("&",$parametro);  //esplodo i campi
        
    $nx 0;
        
    $stringa '';
        foreach(
    $parametri as $n){
            
    $stringa .= ($nx) ? ','.$n $n;
            
    $nx++;
        } 
    //creo la stringa da passare alla query 
    Per evitare la virgola prima del primo campo....

    Ma l'hai provato o no?

  4. #4
    Utente di HTML.it L'avatar di alpeweb
    Registrato dal
    Oct 2002
    Messaggi
    1,691
    Sinceramente non capisco sto giro.
    Ma perchè non passi direttamente i nomi dei campi separati da virgola?
    A che cacchio ti serve mettere l'& per poi tirarlo via?

    PS: Non usare MAI nomi di funzioni o variabili già usati dal sistema

    $parametro="campo1, campo2, campo3";
    function mioGet($parametro,$id, $tabella){

    $selPg = $conn->query (
    "SELECT ".$parametro."
    FROM ".$tabella."
    WHERE uid = ".$id."LIMIT 1" )
    or die("Errore nella selezione. Per favore, controllare il file inc/funzioni.php");
    $rowPg = $selPg->fetch_array(MYSQLI_NUM);
    //$rowPg è già un array perchè crearne un'altro?
    return $rowPg;
    }


    Cmq questo è errato:
    for($n = 0; $n <= $numero; $n++){
    diventa
    for($n = 0; $n < $numero; $n++){
    il count ti conta gli elementi e chiaramente parte da 1
    ...altri 5 anni di purga...

  5. #5
    Ecco, lo sapevo che andavo a complicarmi la vita per nulla XD
    Grazie mille!!

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.