match listor radera inaktiv data

PHPportalen Forum Index » Databaser
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
Biasse



Medlem i: 5213 dagar

Status: Offline



#742025
Inlägg Skrivet: 2017-12-04 11:53      Ämne: match listor radera inaktiv data Citera

Läser in en data lista och vill matcha den mot min databas och radera det som inte finns i ny data lista men får det inte att fungera. Nån som ser vad felet kan vara? $list["data_id"]; samt $data["data_id"]; läser ut id som de ska.

KOD:
1:
 
2:
function remove_inactive_data($conn, $newdata)
3:
{
4:
  $dblist = load_db_list($conn);
5:
 
6:
  foreach($dblist as $list)
7:
  {
8:
    $mysql_id = $list["data_id"];
9:
 
10:
   foreach($newData as $data)
11:
   {
12:
     $data_id = $data["data_id"];
13:
    
14:
     if($data_id != $mysql_id)
15:
     {
16:
       $sql = $conn->query("DELETE FROM list WHERE id = '$mysql_id'");
17:
     }
18:
    }
19:
  }
20:
}
21:
 
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
harald_b
Moderator



Medlem i: 4192 dagar
Från: Tavesta
Status: Offline



#742026
Inlägg Skrivet: 2017-12-04 13:49      Ämne: Citera

Om $newData innehåller flera olika $data_id så kommer $mysql_id raderas varje gång som $mysql_id inte är samma som ett av dessa $data_id.

För övrigt så är $newdata inte samma som $newData.
 

_________________
R.r - Ett fritt affärssystem
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Biasse



Medlem i: 5213 dagar

Status: Offline



#742027
Inlägg Skrivet: 2017-12-04 14:07      Ämne: re: Citera

$newdata ska vara samma. Felskrivning av mig. Problemet kvarstår att det blir poster kvar i db som inte finns med i $newdata.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
harald_b
Moderator



Medlem i: 4192 dagar
Från: Tavesta
Status: Offline



#742028
Inlägg Skrivet: 2017-12-04 14:54      Ämne: Citera

Du raderar aldrig något annat än vad som finns i $mysql_id.

Jag tror du borde satsa på att lösa det med sql istället.
... WHERE id NOT IN (...
Men det blir ju en ganska annorlunda lösning då.
 

_________________
R.r - Ett fritt affärssystem
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget
PHPportalen Forum Index » Databaser
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic