Ahoj. Mám další problém... dělám knihu hostů a mám očíslovaný příspěvky....ty přispěvky se dají pod adminem mazat...ale nedokážu udělat že když jsou za sebou příspěvky č. 12 a 13 a příspěvek č. 13 se smaže tak když napíšu nový který by měl dostat číslo posledního příspěvku +1 tak v databázi se vloží pomocí auto_incremet č. 14 místo č. 13....databáze si to pamatuje...dá se tomu nějak předejít ? ASi jo tak by se mě hodila rada. dik Danda
Pokud jde jen o poslední příspěvek, lze laborovat s funkcí LAST_INSERT_ID. Ale když bys smazal příspěvek "z prostředka", moc to nepomůže, protože všechna čísla "nad" to prostě takto nepřečísluje.
AFAIK, buď to při mazání vždycky celý přečísluješ, nebo to můžeš číslovat až při výstupu, a nebo, což se mi zdá jako nejlepší řešení, vymazání příspěvků nijak nemaskovat, aby se nehrálo na Orwella, ale bylo jasno, že tam nějaký příspěvek byl a už není.
ok rád bych použil to LAST_INSERT_ID ale nevim jak to mám zakomponovat do toho příkazu na vložení do databáze....
DELETE FROM tabulka WHERE id = 5
UPDATE tabulka SET id = id + 1 WHERE id>5
nejak takhle?
asi id=id-1
, ale ak je to autoincrement tak nový prispevok bude mať aj tak vyššie číslo ako je posledne+1.
Buď si to budeš číslovať sám, alebo sa na to vykašli, lebo z toho vznikne taký bordel. ?:-)
<HTML>???
Jake precislovani?
Snad kdyz vypisuji data, vypisuji je za pomoci cyklu s tim ze jsou razene napr. podle ID a neprijde mi tak slozite pridat tam prommenou na ocislovani.
$i = 0;
$sql = mysql_query(.....);
while ($radek = mysql_fetch_array($sql)) {
echo $radek['text'];
echo $radek['jmeno'];
echo "Poradove cislo prizpevku: $i";
$i++;
}
pokud se tim bude listovat prictu dany skok k $i</HTML>
kousek zdrojaku z my GB... resil sem stejny problem, toto vypise strankovani "nespojite" rady prispevku jako odkazy ...
-----------------
// posledni id (asi se da zjistit jednoduseji (budu rad za tipy..tusim ze je nejaky "max" ...
$sql=mysql_query("select id from qb order by id desc limit 1");
$sql=mysql_fetch_array($sql);
$pgc=$sql["id"]+"1";
// osetreni neplatnych vstupu
if(!is_numeric($pg)) $pg=$pgc;
//samotny vypisovani odkazu
while($pgc>"1"){
$i++;
// pocet odkazu
if($i>"5") break;
// aktualni stranka
if($pgc==$pg) echo "$i - ";
else {
echo '<a href="qb.php?pg='.$pgc.'" title="stranka c. '.$i.'">'.$i.'</a> - ';
}
$sq="select id from qb where id<".$pgc." order by id desc limit 10";
if(!$sql=mysql_query($sq)) echo $sq;
// prirazeni nove hodnoty pro dalsi prubeh cyklu (asi jde lepe)
while($sql2=mysql_fetch_array($sql)) $pgc=$sql2["id"];
}
<HTML>prijde mi to nejak priliz slozite, najdi si me ukazky tohoto typu, jsou na par radku (tusim na 4)</HTML>
ma ukazka nevypisuje prispevky, ale vypisuje odkazy na to "strankovani" ... proto je tak "slozita" ... (taky tan osetruju uplne vsechno :)
Vypisuješ příspěvky podle ID? Není lepší tam přidat např datum vložení a řadit to podle data? Na index nesahat! Jak jednou použiješ víc jak jednu tabulku, tak by vzniknul bordel. Navíc index není od toho, aby byl hezky bez děr, je to identifikace. Zkus raději to datum.
a nemozes to iba cislovat od zaciatku stranky?
<?
$res = my...
$i = 0;
while($row=mysql_fetch_array($res)){
$i++;
..
echo "prispevok $i -> $row[meno] ";
..
}mysql_free_result($res);
..
alebo daco take
<HTML>ludko: ne ze bych to sem nepsal :)</HTML>