Avatar billede stefmeister Nybegynder
18. december 2004 - 17:03 Der er 4 kommentarer og
1 løsning

fjern værdi fra array

hej.... (igen igen)

Jeg har lavet en indkøbskurv, det virker også helt fint etc. Jeg bruger et array til at holde styr på hvilke vareid der bliver bestilt. Men hvis jeg nu vil slette en af id'erne fra arrayet hvordan skal man så gøre?


Jeg bruger dette til at se hvilke informationer der ligger i arrayet:

foreach ($_SESSION['kurv'] as $item) {

$sql = "SELECT FILMID, FILMNAVN, PRIS FROM FILMTABEL WHERE FILMID = '".$item."'";
$qh = mysql_query( $sql );
while ( $row = mysql_fetch_assoc( $qh ) ) {

$cost = $cost+$row[PRIS];
echo'  <tr>
    <td width="70%"><font color="black" size="2">&nbsp;&nbsp;'.$row[FILMNAVN].'</font></td>
    <td width="15%"><font color="black" size="2">&nbsp;&nbsp;'.$row[FILMID].'</font></td>
    <td width="15%"><font color="black" size="2">&nbsp;&nbsp;kr.&nbsp;'.$row[PRIS].',-</font></td>
   
  </tr>';

}


tænkte at jeg så ville lavet et kryds eller lign som man kunne trykke på, så den ville slette lige det id.
Avatar billede coderdk Praktikant
18. december 2004 - 17:16 #1
Bare et hint, til en mere optimal måde at hive dem ud på:

$ids = implode( ',', $_SESSION['kurv'] );
$sql = "SELECT FILMID, FILMNAVN, PRIS FROM FILMTABEL WHERE FILMID IN (".$ids.")";
$qh = mysql_query( $sql );
while ( $row = mysql_fetch_assoc( $qh ) )
{
  $cost = $cost+$row[PRIS];
  echo '  <tr>
    <td width="70%"><font color="black" size="2">&nbsp;&nbsp;'.$row[FILMNAVN].'</font></td>
    <td width="15%"><font color="black" size="2">&nbsp;&nbsp;'.$row[FILMID].'</font></td>
    <td width="15%"><font color="black" size="2">&nbsp;&nbsp;kr.&nbsp;'.$row[PRIS].',-</font></td>
  </tr>';
}

Ellers lad det script tage en unsetid=(en_id) og smid koden i toppen:

if ( isset( $_GET['unsetid'] ) && in_array( $_GET['unsetid'], $_SESSION['kurv'] ) )
{
  $_SESSION['kurv'] = array_diff( $_SESSION['kurv'], array( $_GET['unsetid'] ) );
}
Avatar billede morteeart Nybegynder
18. december 2004 - 17:16 #2
www.php.net/unset bruges til at fjerne værdier fra arrayet.
som f.eks.
<?
unset($_SESSION['kurv'][0]);
?>
som fjerne den først værdi i arrayet.
Hvis du ikke kender key'en ( [0] eller [1] osv. )
så kan du bruge array_search
www.php.net/array_search
Avatar billede stefmeister Nybegynder
18. december 2004 - 17:23 #3
takker... kunne ikke lige gennemskue hvordan man skulle gøre det.
Avatar billede stefmeister Nybegynder
18. december 2004 - 17:38 #4
iih... stødte lige i et problem... hvis der nu ligger to af samme vare i kurven, men man kun ønsker at slette den ene, så bliver begge slettet, da de har samme id jo.
Avatar billede stefmeister Nybegynder
18. december 2004 - 17:40 #5
problem løst.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester