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

    [sql]e[php] combiare numerologia id

    Ciao ho un problemino da poco,
    ho una tabella dove inserisco vari articoli
    e una pagina che convalida quali pubblicare,e cancellare gli altri

    il "problema" e' che
    cosi' facendo la numerologia del
    campo id (pimaria e con auto_increment)
    risulta sfasata
    ad esempio ho 20 articoli ma il loro id non e' piu 1, 2, 3, ecc..
    ma 5,8,9,10,14 ecc fino a 30 (avendone cancellati 10)
    C'e' un comando per riordinare il tutto?
    Ho provato con phpadmin
    e riesco ad riordinare gli articoli, ma anche se ho 20 articoli numerati bene, lui il 21° me lo segna come 31°..

    ora il problema numero 2

    Devo far si che tutti i campi di un form siano realmente compilati
    e se non tocco niente mi segnala , che il campo deve essere compilato,

    ma se metto uno spazio lui lo considera come se fosse stato compilato

    ho messo i seguenti metodi di controllo:
    Codice PHP:
    trim($titolo1);

    if (
    $titolo1 == " "){
    $titolo1 "" ;
    }
    if (
    $titolo1 == "" or $titolo1 == " "){
    print(
    "Il campo titolo deve essere inserito

     



    pero' non e' servito a niente , se metto uno spazio nel campo titolo, lui lo accetta .
    Qualche consiglio?
    il mio primo sito
    www.promofit.it
    e di strada da fare ne ho ancora parecchia!!!

  2. #2

    Re: [sql]e[php] combiare numerologia id

    [supersaibal]Originariamente inviato da sonny7y7y7y7y7y
    e riesco ad riordinare gli articoli, ma anche se ho 20 articoli numerati bene, lui il 21° me lo segna come 31°..
    [/supersaibal]
    E a te cosa cambia ?
    [supersaibal]
    ora il problema numero 2
    ...
    [/supersaibal]
    $titolo1 = trim($titolo1);
    Addio Aldo, amico mio... [03/12/70 - 16/08/03]

  3. #3
    >>>>E a te cosa cambia ?

    effettivamente niente....
    ma volevo sapere se c'era un modo per modificarlo...tutto qui



    >>>$titolo1 = trim($titolo1);



    Grazie
    ero convinto che trim ti restituisse gia' la variabile modificata

    ciao ciao
    mi rimetto al lavoro
    il mio primo sito
    www.promofit.it
    e di strada da fare ne ho ancora parecchia!!!

  4. #4
    Per ricreare gli indici in modo progressivo e senza buchi, in mysql puoi usare sta cosa:
    query 1: #Dichiari la variabile e a imposti a zero
    SET @indice:=0;

    Query 2: # Penso si capisca cosa fa
    UPDATE table SET ID=(@indice:=@indice+1) WHERE 1 ORDER BY ID;


    Dimmi se ti funziona.
    Ciao
    ...

  5. #5
    Ho provato cosi':
    Codice PHP:
    <?php
    // parametri del database
    $db_host 'xxxxx';
    $db_user 'xxxxx';
    $db_password 'xxxxx';
    $db_name 'xxxxx';
    SET @indice:=0
    $db mysql_connect($db_host$db_user$db_password);
    if (
    $db == FALSE)
    die (
    "Errore interno nella connessione. Verificare i parametri di configurazione");
    mysql_select_db($db_name$db)
    or die (
    "Errore interno nella selezione del database. Verificare i parametri di configurazione"); 
    $query "UPDATE articoli SET ID=(@indice:=@indice+1) WHERE 1 ORDER BY ID;"
    if (
    mysql_query($query$db))
    print(
    "<div align=\"left\" style=\"margin: 0px 10px;\">L'articolo è stato inserito correttamente. Un nostro redattore lo controllerà e se considerato idoneo, il vostro articolo verrà pubblicato.</div>");
    else
    echo 
    "Errorre durante l'inserimento";
    mysql_close($db); 
    ?>

    e cosi:
    Codice PHP:
    // parametri del database
    $db_host '62.149.150.31';
    $db_user 'Sql60685';
    $db_password 'WfEhDYrz';
    $db_name 'Sql60685_2';
    $indice 0
    $db mysql_connect($db_host$db_user$db_password);
    if (
    $db == FALSE)
    die (
    "Errore interno nella connessione. Verificare i parametri di configurazione");
    mysql_select_db($db_name$db)
    or die (
    "Errore interno nella selezione del database. Verificare i parametri di configurazione"); 
    $query "UPDATE articoli SET ID=($indice = $indice+1) WHERE 1 ORDER BY ID;"
    if (
    mysql_query($query$db))
    print(
    "<div align=\"left\" style=\"margin: 0px 10px;\">L'articolo è stato inserito correttamente. Un nostro redattore lo controllerà e se considerato idoneo, il vostro articolo verrà pubblicato.</div>");
    else
    echo 
    "Errorre durante l'inserimento";
    mysql_close($db); 
    ?> 

    Nel primo caso mi da un errore nella riga 15
    SET @indice:=0;

    (non conosco il comando set...anche se capisco a cosa si riferisce, quindo non so' come si usa)


    nel secondo caso invece mi stampa a video
    Errorre durante l'inserimento

    mi sa che non ho capito bene come usare i tuoi consigli


    il mio primo sito
    www.promofit.it
    e di strada da fare ne ho ancora parecchia!!!

  6. #6
    sono variabili di mysql....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Noo!!!!
    mysql_query('SET @indice:=0;');
    mysql_query('UPDATE articoli SET ID=(@indice:=@indice+1) WHERE 1 ORDER BY ID;');


    Sono due query differenti, non sono righe di codice php.

    Poi, stampa su browser gli eventuali errori nel caso non funzionasse.

    EDIT:
    avevo scritto anche una piccola guida:
    http://forum.html.it/forum/showthrea...hreadid=817338
    Che nessuno considerò minimamente
    ...

  8. #8


    codice modificato:

    Codice PHP:
    $db mysql_connect($db_host$db_user$db_password);
    if (
    $db == FALSE)
    die (
    "Errore interno nella connessione. Verificare i parametri di configurazione");
    mysql_select_db($db_name$db)
    or die (
    "Errore interno nella selezione del database. Verificare i parametri di configurazione"); 
    if (
    mysql_query($db,'SET @indice:=0;')) {
    print(
    "<div align=\"left\" style=\"margin: 0px 10px;\">L'articolo è stato inserito correttamente. Un nostro redattore lo controllerà e se considerato idoneo, il vostro articolo verrà pubblicato.</div>");
    }else{
    echo 
    "Errorre durante l'inserimento prima query";

    if (
    mysql_query($db,'UPDATE articoli SET ID=(@indice:=@indice+1) WHERE 1 ORDER BY ID;')) {
    print(
    "<div align=\"left\" style=\"margin: 0px 10px;\">L'articolo è stato inserito correttamente. Un nostro redattore lo controllerà e se considerato idoneo, il vostro articolo verrà pubblicato.</div>");
    }else{
    echo 
    "Errorre durante l'inserimento seconda query";
    }

    mysql_close($db); 
    ?> 

    errori che mi stampa a video:

    Errorre durante l'inserimento prima queryErrorre durante l'inserimento seconda query


    appena ho un attimo di tempo mi leggo la tua guida...
    cosi' ,forse,
    inizio a capire un po' le basi della comnicazione con mysql


    p.s: I campi nella tabella articoli sono 5 :
    id
    titolo
    autore
    articolo
    conferma
    il mio primo sito
    www.promofit.it
    e di strada da fare ne ho ancora parecchia!!!

  9. #9
    in mysql_query devi invertire l'ordine delle opzioni....


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  10. #10
    Codice PHP:
    $db mysql_connect($db_host$db_user$db_password);
    if (
    $db == FALSE)
    die (
    "Errore interno nella connessione. Verificare i parametri di configurazione");
    mysql_select_db($db_name$db)
    or die (
    "Errore interno nella selezione del database. Verificare i parametri di configurazione"); 
    if (
    mysql_query('SET @indice:=0;',$db)) {
    print(
    "<div align=\"left\" style=\"margin: 0px 10px;\">L'articolo è stato inserito correttamente. Un nostro redattore lo controllerà e se considerato idoneo, il vostro articolo verrà pubblicato.</div>");
    }else{
    echo 
    "Errorre durante l'inserimento prima query";

    if (
    mysql_query('UPDATE articoli SET ID=(@indice:=@indice+1) WHERE 1 ORDER BY ID;',$db)) {
    print(
    "<div align=\"left\" style=\"margin: 0px 10px;\">L'articolo è stato inserito correttamente. Un nostro redattore lo controllerà e se considerato idoneo, il vostro articolo verrà pubblicato.</div>");
    }else{
    echo 
    "Errorre durante l'inserimento seconda query";
    }

    mysql_close($db); 
    ?> 

    La prima query va a segno, la seconda fallisce....
    il mio primo sito
    www.promofit.it
    e di strada da fare ne ho ancora parecchia!!!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.