Jump to content

Only Deletes One


Dysan

Recommended Posts

Upon clicking the "Remove?" buttons, how come the first record gets removed from the array, but not the 2nd or more? - The all the "Remove?" buttons except the 1st, don't do anything. Why is this?

 

<?php
session_start();

$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
  die(mysql_error());
}

mysql_select_db("MP3", $con);

$array = ( isset($_SESSION['ids']) && is_array($_SESSION['ids']) ) ?  $_SESSION['ids'] : array();

$action = $_GET['action'];

switch ($action)
{
  case 'add':
    $array[] = $_GET['id'];
    $_SESSION['ids'] = $array;
  break;

  case 'delete':
    $key = array_search($_GET['id'], $array);
    unset($array[$key]);
    $_SESSION['ids'] = $array;
  break;
}

foreach ($array as $item)
{
  $result = mysql_query("SELECT * FROM books WHERE id = '$item'");
  while($row = mysql_fetch_array($result))
  {
    echo '<a href="Cart.php?action=delete&id='.$_GET['id'].'">'."Remove?".'</a>';
    echo " ".$row['title'].'<br>';
  }
}
print_r($array);
?>

Link to comment
https://forums.phpfreaks.com/topic/78610-only-deletes-one/
Share on other sites

I assume this line:

 

echo '<a href="Cart.php?action=delete&id='.$_GET['id'].'">'."Remove?".'</a>';

 

should read:

 

echo '<a href="Cart.php?action=delete&id='.$row['id'].'">'."Remove?".'</a>';

 

At the moment, all the links contain the same ID - the one in $_GET['id'].

 

 

 

Link to comment
https://forums.phpfreaks.com/topic/78610-only-deletes-one/#findComment-397771
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.