Omhoog en omlaag opschuiven
1. Home
2. Artiesten
2.1 artiest 1
2.2 artiest 2
2.3 artiest 3
2.4 artiest 4
etc.
maar nou wil ik dat je bijv artiest 3 boven artiest 2 komt door middel van omhoog en omlaag knop..
net als dit:
http://b.imagehost.org/0383/voorbeeld.jpg
maar ik kan niks vinden,,overal gezocht..google etc.
hoop snel antwoord te krijgen
PHPerik edit: ik heb ff je titel gewijzigd voor je.Dat je hulp nodig hebt snapt iedereen wel, we zitten immers op phpHULP.nl
Gewijzigd op 01/01/1970 01:00:00 door Afg
Gewijzigd op 01/01/1970 01:00:00 door afg
Je voegt een kolom toe bij Artiesten, waarin een "order_id" staat. Met de omhoog knop achter de betreffende artiest, voer je het volgende uit:
- Bepaal het ordernummer van de gevraagde artiest (kan je evt. ook meegeven) en verlaag dat nummer met 1. Je zoekt ook de artiest op met het nieuwe ordernummer, en dat nummer verhoog je met 1. Bij het uitlezen heb je een ORDER BY staan op ordernummer, en voila. De artiesten zijn van positie gewisseld.
Vergeet niet dat je bij het verwijderen van een record een functie moet hebben die de nummers opnieuw rangschikt.
En als je zo ophaald ORDER BY bla ;) haha
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?
function herrangschikItem($item_id,$richting) {
# Volgens mij moet 1 en ander andersom ....
if ( $richting == 'omhoog' ) {
$teken = '<';
$sortering = 'ASC';
}
if ( $richting == 'omlaag' ) {
$teken = '>';
$sortering = 'DESC';
}
# Huidige status van het te verplaatsen item ophalen
$result = mysql_query(sprintf("SELECT * FROM _tabel WHERE item_id = %d",$item_id));
$item_aangeklikt = mysql_fetch_assoc($result);
# Het item naast bovenstaand item selecteren
$query = "SELECT * FROM _tabel WHERE volgorde_nr %s %d ORDER BY volgorde_nr %s LIMIT 1";
$result = mysql_query($query_,$teken,$item_aangeklikt['volgorde_nr'],$sortering);
$item_ernaast = mysql_fetch_assoc($result2);
# Beidde items omdraaien qua volgorde nummer
$query = "UPDATE _tabel SET volgorde_nr = %d WHERE item_id = %d";
mysql_query(sprintf($query,$item_aangeklikt['volgorde_nr'],$item_ernaast['item_id']));
mysql_query(sprintf($query,$item_ernaast['volgorde_nr'],$item_aangeklikt['item_id']));
}
?>
function herrangschikItem($item_id,$richting) {
# Volgens mij moet 1 en ander andersom ....
if ( $richting == 'omhoog' ) {
$teken = '<';
$sortering = 'ASC';
}
if ( $richting == 'omlaag' ) {
$teken = '>';
$sortering = 'DESC';
}
# Huidige status van het te verplaatsen item ophalen
$result = mysql_query(sprintf("SELECT * FROM _tabel WHERE item_id = %d",$item_id));
$item_aangeklikt = mysql_fetch_assoc($result);
# Het item naast bovenstaand item selecteren
$query = "SELECT * FROM _tabel WHERE volgorde_nr %s %d ORDER BY volgorde_nr %s LIMIT 1";
$result = mysql_query($query_,$teken,$item_aangeklikt['volgorde_nr'],$sortering);
$item_ernaast = mysql_fetch_assoc($result2);
# Beidde items omdraaien qua volgorde nummer
$query = "UPDATE _tabel SET volgorde_nr = %d WHERE item_id = %d";
mysql_query(sprintf($query,$item_aangeklikt['volgorde_nr'],$item_ernaast['item_id']));
mysql_query(sprintf($query,$item_ernaast['volgorde_nr'],$item_aangeklikt['item_id']));
}
?>
Ter inspiratie.
p.s. zitten wat foutjes , kan wat handiger maar u get the point
Gewijzigd op 01/01/1970 01:00:00 door afg
PUNKT DEE EEEEEEEEEEEEEEEEEEEE
maar gwn met pijltjes
Gewijzigd op 01/01/1970 01:00:00 door afg
BUMP
niet precies wat ik bedoel maar door dit ben ik eruit gekomen,,thanQ,,:D:D
Douwe M schreef op 01.08.2008 11:49:
Waarom bump? Je zegt:
niet precies wat ik bedoel maar door dit ben ik eruit gekomen,,thanQ,,:D:D
niet precies wat ik bedoel maar door dit ben ik eruit gekomen,,thanQ,,:D:D
:O Sorry
Je weet toch zelf wel wanneer en probleem is opgelost ^^
Douwe M schreef op 01.08.2008 12:11:
Je weet toch zelf wel wanneer en probleem is opgelost ^^
het is niet opgelost...trouwens wat betekenen %s %d enzo?
Gewijzigd op 01/01/1970 01:00:00 door afg
afg:
niet precies wat ik bedoel maar door dit ben ik eruit gekomen,,thanQ,,:D:D
Nee? Okay, dan heb ik dit bericht verkeerd begrepen...
%s en %d etc horen bij de functie sprintf.
-edit-
@Aar hieronder;
Altijd toch ;)
Gewijzigd op 01/01/1970 01:00:00 door Douwe
1. Home
2. Artiesten
2.1 artiest 1
2.2 artiest 2
2.3 artiest 3
2.4 artiest 4
3. Contact
etc.
maar nou wil ik dat je bijv artiest 3 boven artiest 2 komt door middel van omhoog en omlaag knop..of ik wil contact boven artiesten
net als dit:
http://b.imagehost.org/0383/voorbeeld.jpg
Dus wat wil je nu?
uiteindelijk ben ik er niet eruit gekomen...dus vraag ik verdere hulp
Okay. Wat is je wel/niet gelukt met Twan's script?
Gewijzigd op 01/01/1970 01:00:00 door afg