hallo!

bij volgend script is de '$new' leeg...
als ik de $old 'die' dan zeg hij 2 (wat klop)
wat gaat er mis?


<?
if (!isset($_SESSION['bestellingid'])){
  $sql = 'SELECT id FROM `bestel` ORDER BY `bestel`.`id` DESC LIMIT 1 ';
  $bestid = mysql_query($sql);
  while ($row = mysql_fetch_array($bestid)){
    $old = $row['id'];
    $new = $old+1;
    $_SESSION['bestellingid'] = $new;
    die ($new);
  }
}
?>
Probeer eens:

<?php
<?
if (!isset($_SESSION['bestellingid'])){
$sql = 'SELECT id FROM `bestel` ORDER BY `bestel`.`id` DESC LIMIT 1 ';
$bestid = mysql_query($sql);
while ($row = mysql_fetch_array($bestid)){
$old = (int)$row['id'];
echo $old;
$new = ($old + 1);
echo '<br/>'.$new;
$_SESSION['bestellingid'] = $new;
echo '<br/>'.$_SESSION['bestellingid'];
}
}
?>
?>
thanx ;) haakjes :) dat zal het geweest zijn :)

super bedankt alweer :)
En waarom de mysql_fetch_array($bestid) while()n als je maar 1 resultaat krijgt?
Inderdaad, kan ook zo, is ook iets korter.
Heb ook kleine dingetjes aangepast in je script, backtics ( ` ) gebruiken we niet, ORDER BY bestel.id schiet je niks mee op, want je doet al acties in de tabel bestel, dus hoef je die er ook niet apart voor te prefixen.
En controle op je mysql_query, dat als er iets fout gaat dat ie dan de MySQL error laat zien.

<?php
if (!isset($_SESSION['bestellingid'])){
$sql = 'SELECT id FROM bestel ORDER BY id DESC LIMIT 1 ';
$bestid = mysql_query($sql)or die("MySQL Fout opgetreden:<br/><br/>".mysql_error());
$row = mysql_fetch_assoc($bestid);
$old = (int)$row['id'];
$new = ($old + 1);
$_SESSION['bestellingid'] = $new;
}
?>
En hiervan:
$old = (int)$row['id'];
$new = ($old + 1);
$_SESSION['bestellingid'] = $new;
Kun je dit maken:
$_SESSION['bestellingid'] = (int) $row['id'] + 1;
@jelle: die code is gecopieerd van phpmyadmin... die zet er van die backtics in en die prefix...

@douwe: dat werkt dan weer niet :(
Ja, maar pMA is ook geen SQL-goeroe. Gewoon backticks weglaten, en prefixes als die niet nodig zijn.

Vaag... In theorie klopt het wel...
$_SESSION['bestellingid'] = ((int) $row['id'] + 1);
Dan misschien?

Reageren