mijn manier om een mysql tabel te ordenen

Door Thomas van den Bulk, 12 jaar geleden, 7.081x bekeken

met dit script kun je makkelijk een mysql tabel orderen op basis van de primary key
als voorbeeld:
if(!order($mysqli, "users", $error)){
echo "Error: $error";
}
dit zal de tabel "users" op de primary key sorteren,
en true, of false returnen als het gelukt of mislukt is,
ook zal het als je $error zet, de fout opslaan in de variabele $error
ik had dit script nodig omdat ik bijvoorbeeld in een log script veel logs verwijder (er komen soms per dag 100 erbij)
met als volgt dat je database er uiteindelijk zo uit ziet:
(1, 2, 4, 5, 6, 8, 10),
dit script zal het dus weer netjes op een rijtje zetten:
(1, 2, 3, 4, 5, 6, 7)

Gesponsorde koppelingen

PHP script bestanden

  1. tableorder.php

 

Er zijn 13 reacties op 'Mijn manier om een mysql tabel te ordenen'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
- Mark -
- Mark -
12 jaar geleden
 
0 +1 -0 -1
Hoezo sorteer je dan ook niet gewoon op datetime? Dan hoef je dit allemaal niet te doen. Binnen de while zet je dan gewoon een teller die de 'positie' van de post weergeeft.

Over het script zelf.

- Backtics zijn nergens voor nodig.
- er zit geen fout afhandeling in.
- MySQL_ is nogal oud. Kijk eens naar MySQLi_ of PDO_
Thomas van den Bulk
Thomas van den Bulk
12 jaar geleden
 
0 +1 -0 -1
eerlijk gezegd heb ik dit script ook echt 3 jaar geleden gemaakt x) ik zag m nog ergens liggen, ik dacht, laat ik m eens delen :P
Niels K
Niels K
12 jaar geleden
 
0 +1 -0 -1
3 jaar geleden? Dan mag ik toch hopen dat je in de 3 jaar wat bij geleerd hebt, zoja dat had je kunnen zien dat dit nog flink verbeterd kan worden, zo nee dat is dat jammer en hopen we dat je dit in de toekomst nog leert ;)
Thomas van den Bulk
Thomas van den Bulk
12 jaar geleden
 
0 +1 -0 -1
nouja, eerlijk gezegt heb ik me nog niet echt verdiept in MySQLi :P
Pim -
Pim -
12 jaar geleden
 
0 +1 -0 -1
Je ID is de primary key. Wanneer je verwijzingen gaat maken naar een item in het gastenboek, zal je elke verwijzing ook aan moeten passen.

En waarom zou je dit ├╝berhaupt willen?
TJVB tvb
TJVB tvb
12 jaar geleden
 
Dit valt onder het kopje, hoe haal ik mijn data om zeep.
-je kunt niet zomaar een backup terug zetten
-je koppelingen die meestal via een id gaan kloppen niet meer
-het is verder totaal nutteloos.

Ik weet dat het niet echt een vriendelijk bericht is zo in het nieuwe jaar, maar ik weet ook niet hoe ik dit vriendelijker kan brengen.
The Force
The Force
12 jaar geleden
 
0 +1 -0 -1
Wat is het probleem van missende ID's? Is je gastenboek zo populair dat de nummers opraken? :P

Verder ben ik het eens met wat TJVB zegt.
Thomas van den Bulk
Thomas van den Bulk
12 jaar geleden
 
0 +1 -0 -1
Nou, nee, ik gebruik het eigenlijk voor iets om een log bij te houden, sorry correctie :P en omdat ik een paar commando's heb gemaakt zoals delid 10 till 35 dat hij dan de 25 verwijdert, zo is het handig om na het verwijderen alles weer op volgorde te hebben en weer de mogelijkheid te hebben om delid 10 till 35 te gebruiken :)
Tobias Tobias
Tobias Tobias
12 jaar geleden
 
0 +1 -0 -1
Het scriptje is idd handig om een database op te schonen, maar als je externe links en dergelijke gebruikt, vrij onhandig.


12 jaar geleden
 
0 +1 -0 -1
In principe hoef je ook niet direct je items uit je database weg te halen, maar flag je ze als 'removed'.
Verder zou je er een soort van mapper op kunnen maken die regelt dat die aantallen weg worden gehaald... (Want wat maakt het nu uit of je 30 tot en met 40 weg haalt of 10 tot en met 20?)
Thomas van den Bulk
Thomas van den Bulk
12 jaar geleden
 
0 +1 -0 -1
omdat het nu mooi in een rijtje laat zien:
1, 2, 3, 4
ipv
4, 5, 7, 9
dan werkt het lekkerder om gewoon
delid 2 till 4 te kunnen doen, en ook weten dat je er 3 verwijdert, dan dat je delid 5 till 9 doet, en je ook maar afvragen of het er wel 3 zijn...
ik zal m nog wel even updaten en 'm mooi mysqli maken, met een $error handler, en true of false returned bij gelukt of mislukt!


12 jaar geleden
 
0 +1 -0 -1
Dat bedoel ik dus met een mapper.
Zelf een nummering afdrukken is niet moeilijk, en die dan weer toepassen op wat er is.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Thomas van den Bulk
Thomas van den Bulk
12 jaar geleden
 
0 +1 -0 -1
je bedoelt dat ik gewoon de dingen laat zien met:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?
$x
= 1;
while(query assoc){
echo 'id'.$x;
$x++;
}

?>

en dan bijv de delete:
delid $FROM till $TILL
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?
$from
;
$till;
$mysqli->query(DELETE FROM `log` LIMIT $from, $till);
?>


natuurlijk even wat slordig :P

maar bedoel je zoiets?

Edit:
ik heb de functie geupdated,
en vervangen met MYSQLI en met Fout afhandeling,
wel even onthouden dat ik mysqli nu pas 2 dagen gebruik ;)

Edit2:
Ik zie nergens waar je een script kan verwijderen...

Edit3:
Gevonden :)

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. tableorder.php

Labels

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.