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

    inserire nuovo record ma cancella gli altri

    ciao, ho creado uno strumento per lasciare feedback funziona tutto... io cmq voglio visualizzare solo gli ultimi 40/50 commenti gli altri gli vorrei cancellare automaticamente.. insomma vorrei fare una cosa del genere ... quando invio i dati dal form ... mi fa un controllo cioè se i record relativi a quel id sono minori di 50 allora inserisci il record .... se sono maggiori di 50 cancella quelli più vecchi e poi inserisci il nuovo ... quello che non riesco a fare e cancellare i più vecchi... 1 aiutino ...

  2. #2
    Fatta la inserti scrivi:
    codice:
    sqlDelete = "DELETE * FROM tabella WHERE campoID NOT IN (SELECT TOP 50 campoID ORDER BY campoID DESC)"
    conn.execute(sqlDelete)

  3. #3
    ho provato ma non mi funzia... uso mysql

    Codice PHP:
    sqlDelete "DELETE * FROM feedback WHERE idhotel NOT IN (SELECT TOP 4 idhotel ORDER BY idhotel DESC)"
    adoCon.execute(sqlDelete
    errore

    [MySQL][ODBC 3.51 Driver][mysqld-5.0.24-log]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '* FROM feedback WHERE idhotel NOT IN (SELECT TOP 4 idhotel ORDER BY idhotel DESC' at line 1

    ho provato a togliere * ma sempre error ..

  4. #4
    codice:
    
    delete from tabella where id not in (select id from tabella order by data desc limit 0,50)
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    mi da sempre errore ...

    sqlDelete = "DELETE * FROM feedback WHERE idhotel NOT IN (SELECT idhotel from feedback order by idhotel desc limit 0,50)"

    [MySQL][ODBC 3.51 Driver][mysqld-5.0.24-log]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '* FROM feedback WHERE idhotel NOT IN (SELECT idhotel from feedback order by idho' at line 1

    /send_form_feedback.asp, line 44


  6. #6
    non puoi usare *
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  7. #7
    pfffff.... ora questo errore ... [MySQL][ODBC 3.51 Driver][mysqld-5.0.24-log]This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'

  8. #8
    Fai due query.
    Nella prima prendi gli ID da non cancellare e li salvi un una stringa divisi da virgola.
    Nella seconda passi la stringa nel blocco "... NOT IN (" & stringa & ")"

  9. #9
    altrimenti ti fai un View nel database con i primi 50 id di ogni entità che hai, e fai una query

    codice:
    delete from tabella where id not in (select id from tabellaView)
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  10. #10
    ho fatto una cosa di questo genere ma non funzia... secondo voi il ragionamento è giusto? xkè non mi da nessun errore .. solo che non cancella!!

    Codice PHP:
    set rs4 Server.CreateObject("ADODB.Recordset")
    sql4 "select COUNT(id) AS totaleRecord FROM feedback where idhotel ="id &" "
    rs4.Open sql4adoCon
    %>

    <% if (
    totaleRecord) > 3 then

    recordeliminare 
    = (totalerecord) - 3
    sql5 
    "DELETE TOP '"recordeliminare &"' * FROM feedback WHERE idhotel ="id &" "
    adocon.Execute sql5

     
    else%>
    <% 
    end if%>

    <%
    rs4.Close
    Set rs4 
    Nothing 

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.