Visualizzazione dei risultati da 1 a 2 su 2

Discussione: qualcosa mi sfugge?

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    46

    qualcosa mi sfugge?

    1)dentro una funzione ho l'explode che elabora i dati dal db:
    $settori = trim($rows['settori']);//es. 28,29,31,32
    $features = explode(",",$settori);
    faccio il ciclo
    for($x=0;$x<count($features);$x++){
    $result .= $features[$x];
    prendo tutti i nomi dei settori con gli id ad es. 28,29,31,32 e faccio la query
    $sql2 = mysql_query("SELECT * FROM settori WHERE id = '".$features[$x]."' ORDER BY featureID ASC")or die( mysql_error() );
    //qui prendo quelli gli altri con AND da errore....
    $SQLEx .= "featureID <> '".$features[$x]."' AND ";
    $sqlex= mysql_query("SELECT * FROM settori WHERE '".$SQLEx."' ")or die( mysql_error() );
    while ($rows = mysql_fetch_assoc($sqlex)) {

    $nomiex .= trim($rows['featureName']).",";

    }
    while ($rows2 = mysql_fetch_assoc($sql2)) {
    $name .= trim($rows2['featureName']).",";
    }
    }
    //PRENDO TUTTI I NOMI DEI SETTORI PER METTERLI NELL'INSERT SOTTO COME $nomi

    $sql2 = mysql_query("SELECT * FROM settori ORDER BY id ASC")or die( mysql_error() );

    while ($rows = mysql_fetch_assoc($sql2)) {

    $nomi .= "`".trim($rows['featureName'])."` ,";

    }
    //PRENDO I NOMI RISULTANTI DALLA QUERY sql2
    $name = explode(",",$name);

    for($x=0;$x< count($name) ;$x++){
    $SQL1 .= "`".$name[$x]."`= '1' ,";
    }
    //QUELLI NON SCELTI DALLA QUERY sql2 cioè la $sqlex
    $nomiex = explode(",", $nomiex);
    $numero = count($nomiex);
    for($x=0;$x<$numero;$x++){
    $SQLex .= "`".$nomiex[$x]."`= ' ' ,";
    }


    //MI CONNETTO AL DB REMOTO E SALVO I DATI
    $connect = mysql_connect(DB_SERVER_REMOTO,DB_USER_REMOTO,DB_P ASSWORD_REMOTO) or die( mysql_error() );

    $select = mysql_select_db(DB_NAME_REMOTO,$connect) or die( mysql_error() );

    //VEDO SE C'È GIÀ UN 'ARTICOLO CON LO STESSO id
    $sql2 = mysql_query("SELECT * FROM datifinali WHERE id = '".$id."' ") or die( mysql_error() );

    $num_rows = mysql_num_rows($sql2);

    //se non c'è inserisco il nuovo articolo
    if ($num_rows<1) {
    mysql_query("INSERT INTO dati (`IDDati`, `TipologiaMacchine`, `Marca`, `Modello`, `Dati` ,`Dati en`, `Dati fr`, `Dati es`, `Dati ru`, $nomi `Inserimento sito`)

    VALUES ('".$id."','".$TipologiaMacchine."','".$marca."',' ".$modello."','".$dati."','".$dati."','".$dati."', '".$dati."','".$dati."' , $SQL1 $SQLex 1)") or die( mysql_error() );



    }else{


    //se c'è già lo aggiorno
    mysql_query("UPDATE dati SET

    TipologiaMacchine = '".$TipologiaMacchine."',

    Marca = '".$marca."',

    Modello = '".$modello."',

    Dati = '".$dati."',

    $SQL2

    `Inserimento sito` = '1'



    WHERE IDDati = '".$id."'

    ") or die( mysql_error() );

    }


    Problemi:

    il ciclo su explode restituisce un valore in piu'
    la query su $sqlex da errori non so come mettere $SQLEx .= "featureID <> '".$features[$x]."' AND ";

    Grazie dell'eventuale consiglio

  2. #2
    Ciao,

    il titolo non è conforme al regolamento: sono vietati i titoli generici

    I titoli inseriti devono essere inerenti alla richiesta presente nel thread, ad esempio se una persona ha un problema con la connessione al database mysql un titolo come "errore durante la connessione al database" è sufficientemente specifico, in questo caso, "qualcosa mi sfugge?" è troppo generic.

    Inoltre, quando posti codice, soprattutto quando ne posti tanto, è importante utilizzare i BBCODE php e/o code presenti tra la casella del titolo e la casella del testo del post, cosi da formattare il codice e renderlo più leggibile.

    Riapri il thread a norma, grazie
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

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.