MYSQL rendezési probléma
foreach($_POST['torles'] as $kepnev_torles) { //ha kiválasztotta
$nevtorles = $filedir."/".$kepnev_torles;
if(unlink($nevtorles) ) {// fájl törlés
/******Adatbázis törlés*********/
$configurl = "config.php";
require($configurl);
mysql_select_db($mysql["database"]);
$sql = "DELETE FROM kep WHERE kepnev = '$kepnev_torles' ORDER BY id ASC";
$sql2 = "ALTER TABLE kep ORDER BY ID";
if(@mysql_query($sql) and @mysql_query($sql2)){
$uzenet = "Adat törlés, és rendezés megtörtént. ";
}
else{ mysql_query($sql) or $uzenet="SQL: ".$sql." ,<br /> Hibaüzenet: '.mysql_error()"; }
Így:
0 kép.jpg
1 kep1.jpg
2 kép2.jpg
(törlés 1 kep1.jpg)
Utána így kellene:
0 kép.jpg
1 kép2.jpg
Előre is köszönöm a segítséget.
ORDER BY
ORDER BY
aSELECT
típusú lekérdezéseknél hasznos. A többinél leginkább felesleges, vagy haszontalan. Nem teljesen mindegy, hogy milyen sorrendben törlöd ki a táblából a sorokat, ha mindet kitörlöd? AzALTER TABLE
meg nem erre való. Legjobb, ha raksz egy valamilyen index-et az id meződre, majd a lekérdezések alkalmával rendezel. Maximum ha saját fájl alapú adatbázismotort fejlesztenél lenne szükséged rendezésre, de a MySQL ezt alapból megoldja neked.Az így kellene dolgot pedig nem értem, mivel semmi utalás nincs arra, hogy hogyan van most megvalósítva.
Bocsánat ha félreértehtő voltam.
Az ALTER TABLE -t megoldást gondoltam a rendezésre, ami NEM a törlést, hanem a törlés után ott maradt adatokat rendezné.
Legalábis ezt olvastam róla, de ha ez nem erre való akkor hogyan lehet ezt megoldani?
Ahogy írtam.
Így:
id név
0 kép.jpg
1 kep1.jpg
2 kép2.jpg
(törlés 1 kep1.jpg) itt van a törlés.
Utána így kellene rendezni a megmaradt adatokat:
id név
0 kép.jpg
1 kép2.jpg
SELECT * FROM table ORDER BY
Ez csak sorrendben olvas be.
Írtál előtte valami indexeléses megoldást.
Azt ki tudnád fejteni bőveben?
mindegy
id
értéke? Ha megváltoztatod, azzal az adatbázisod konzisztenciája változik meg, ezért nem ajánlom annak piszkálását. Egyáltalán miért szeretnéd módosítani azid
-t?Igazad van, másfelől próbálkozok.
A dinamikusan létrejövő form ablakok mindegyike tartalmaz egy feliratot, egy kép SELECT-et, egy title cimkét, és egy mentés gombot.
Hogyan tudom megkapni, hogy melyik gombot nyomták meg?
A gomb próbálkozásom:
Így megkapom...de
Ez meg lehet valahogy oldani?
Esetleg ha megcserélnéd a
Ugyanis a value értéke kerül a gombra. A name-hez írt string alapján tudsz hivatkozni rá a $_GET, $_POST, $_REQUEST tömbökben.
Ajánlom olvasnivalónak a www.w3schools.com oldalt!
Értelek, de..
Van erre valami megoldás?
<input type="submit"
$_POST['ablak_szam']
változót kell figyelni.Szuper
Nem is fog megváltozni, ha az
Esetleg így:
set @i=0;
select @i:=@i+1 as id,kepnev from kep;
Igaz, ez 1-től kezdi a sorszámozást és az adatbázisban tárolt értékeket nem módosítja. :)