php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 27.01.2005, 12:49  
Erfahrener Benutzer
 
Registriert seit: 16.05.2004
Beiträge: 369
Simon9990
Standard Links sortieren

HI ich hab ein Script bei dem man Links dynamisch erstellen kann.
Das funktioniert alles super.
Aber ich möche, dass man die Links sortieren kann!
Im Moment hab ich eine Tabelle "sort" wo eine Zahl drinn steht.
Funktioniert auch noch!

Aber ich will jetzt , dass man die alle einfach ordnen kann also hab jetzt eine Tabelle
Dort werden alle Links aufgelistet.
Und neben jedem Link ist ein Eingabe Feld, wo man die Zahlen dann ändern kann.Also das sieht dann so aus:
Code:
<input name="sort1" type="text" id="sort1" value="<? echo $row['sort']; ?>" size="5">
          <input name="id" type="hidden" id="id" value="<? echo $row['id']; ?>">
Ich will, dass wen man aufden Button sortieren klickt, sollten die Zahlen erneuert werden.
Leider funktioniert das irgendwie nicht.
Ich habs so probiert.

PHP-Code:
if(isset($_POST['sortieren']))
{
   
    
$abfrage mysql_query("SELECT * FROM navigation ORDER BY sort DESC") or 
 
$msg "- Konnte die Links nicht abfragen";
 
    while(
$row mysql_fetch_array($abfrage))
    {
    
        
$id $_POST['id'];
        
$sort1 $_POST['sort1'];
    
       
mysql_query("UPDATE navigation SET sort = '$sort1' WHERE id =                             '$id'") or    
         
$msg "$msg
 - Die Links konnten nicht sortiert werden"
;
       
       }
    
    
    

Kann mir jemand weiterhelfen ?
__________________
Der G-Translator
Simon9990 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 27.01.2005, 13:07  
Erfahrener Benutzer
 
Registriert seit: 01.02.2008
Beiträge: 187
MortakArtos befindet sich auf einem aufstrebenden Ast
Standard

Also, ich verwende für eien Seite ein CMS, dass ich geschrieben habe, da kann man bei den Elementen auf der Seite auch die Reihung ändern.
In der Datenbank steht in der Element-Tabelle (sites) eine Spalte für die Sortierung (sort), die, nach Eingabe einer neuen Sortierung eines Elements und der übergabe von id und alter Sortierung, alles (die betroffene und die dazwischenliegenden) neu reiht in der Datenbank...

PHP-Code:
<?
//Element verschieben
if ($aktion=="9"){
    
$ver_elem_site $_POST["versch_elem_site"]; //id
    
$ver_elem_zeil_neu $_POST["versch_elem_zeil_neu"]; //neue reihung
    
$ver_elem_zeil_alt $_POST["versch_elem_zeil_alt"]; //alte reihung
    
if ($ver_elem_zeil_neu $ver_elem_zeil_alt){ // wenn neue reihung größer als alte
        
mysql_query("UPDATE sites SET sort = '0' WHERE site = '$ver_elem_site' AND sort = '$ver_elem_zeil_alt' LIMIT 1");//setze beim betroffenen element die sortierung auf 0
        
for ($i=$ver_elem_zeil_alt+1;$i<$ver_elem_zeil_neu+1;$i++){
            
$i_set $i-1;
            
mysql_query("UPDATE sites SET sort = '$i_set' WHERE sort = '$i' AND site = '$ver_elem_site' LIMIT 1");//aktualisiere alle dazwischenliegenden elemente-Sortierungen +1
        
}
        
mysql_query("UPDATE sites SET sort = '$ver_elem_zeil_neu' WHERE sort = '0' AND site = '$ver_elem_site' LIMIT 1");//aktualisiere das betroffene element auf die neue reihung  
    
}
    if (
$ver_elem_zeil_neu $ver_elem_zeil_alt){ //wenn neue reihung kleiner als alte
        
mysql_query("UPDATE sites SET sort = '0' WHERE site = '$ver_elem_site' AND sort = '$ver_elem_zeil_alt' LIMIT 1");//setze beim betroffenen element die sortierung auf 0
        
for ($i=$ver_elem_zeil_alt-1;$i>$ver_elem_zeil_neu-1;$i--){
            
$i_set $i+1;
            
mysql_query("UPDATE sites SET sort = '$i_set' WHERE sort = '$i' AND site = '$ver_elem_site' LIMIT 1");//aktualisiere alle dazwischenliegenden elemente-Sortierungen -1
        
}
        
mysql_query("UPDATE sites SET sort = '$ver_elem_zeil_neu' WHERE sort = '0' AND site = '$ver_elem_site' LIMIT 1");//aktualisiere das betroffene element auf die neue reihung
    
}
}
?>
Vielleicht kann dir das weiterhelfen...

Liebe Grüße

Mortak
MortakArtos ist offline  
Alt 27.01.2005, 18:38  
Erfahrener Benutzer
 
Registriert seit: 16.05.2004
Beiträge: 369
Simon9990
Standard

Danke @Mortak

Aber ich will einfach, dass wenn das z.Bsp. so aussieht:

Link1 [0]
Link2 [1]
Link3 [2]
Link4 [3]

Und ich bei Link1 statt der sort-Nummer 0 , 2 hinzufüge, dass die dann einfach vertauscht werden.
Also , dass das dann so aussieht:

Link2 [0]
Link1 [1]
Link3 [2]
Link4 [3]


Ich hoffe ihr könnt mir weiterhelfen.

Gruss Simon
__________________
Der G-Translator
Simon9990 ist offline  
Alt 28.01.2005, 12:15  
Erfahrener Benutzer
 
Registriert seit: 01.02.2008
Beiträge: 187
MortakArtos befindet sich auf einem aufstrebenden Ast
Standard

Hmm, du wirst wohl ein eingabeformular für die neue Sortierung haben, nehme ich an?

Du schickst dort die neu (eingegebe) Sortierung, aber auch die alte Sortierung und die id als Hiddenfeld, weg.
Dann hast du auf der neuen Seite:

PHP-Code:
<?
$sort_neu
=$_POST["sort_neu"];
$sort_alt=$_POST["sort_alt"];
$id=$_POST["id"];

//damit kannst du dann sehr schön die Updates machen:
$query1"UPDATE navigation SET sort = '0' WHERE id = '$id'" // Das zu ändernde auf null setzen
$query2"UPDATE navigation SET sort = '$sort_alt' WHERE sort = '$sort_neu'" // Das alte auf die neue Reihung bringen
$query3"UPDATE navigation SET sort = '$sort_neu' WHERE sort = '0'" // Von 0 auf die Neue Sortierung bringen
?>
MortakArtos ist offline  
Alt 28.01.2005, 13:26  
Erfahrener Benutzer
 
Registriert seit: 16.05.2004
Beiträge: 369
Simon9990
Standard

Hi das funktioniert irgendwie nicht
Ich nehm mal an , weil das Script ja dann nicht weiss, was es ändern soll wenn alle Felder z:bsp. Sort_neu heissen!

Gruss Simon
__________________
Der G-Translator
Simon9990 ist offline  
Alt 28.01.2005, 23:03  
Erfahrener Benutzer
 
Registriert seit: 01.02.2008
Beiträge: 187
MortakArtos befindet sich auf einem aufstrebenden Ast
Standard

Schreib mal die Felder deiner Tabelle....
MortakArtos ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Links im Text GELight PHP Tipps 2006 3 13.10.2006 17:35
DECIMAL lässt sich nicht mit ORDER BY sortieren buggybugga Datenbanken 4 07.07.2006 15:43
Darstellung von Links ohne Parameter seven-12 PHP Tipps 2006 4 16.02.2006 15:31
Alle links einer HTML Datei anzeigen? nicobischof PHP Tipps 2005-2 4 26.10.2005 18:20
Ueberlagerte Links HTML, Usability und Barrierefreiheit 0 01.10.2005 19:44
[Erledigt] Links hinter Div-Layer funktionieren nicht HTML, Usability und Barrierefreiheit 10 14.09.2005 15:39
Tabelle ganz links lalala HTML, Usability und Barrierefreiheit 1 06.07.2005 14:29
Problem beim Sortieren PHP Tipps 2005-2 5 29.06.2005 07:00
ausgegebene Tabelle über Links sortieren? PHP Tipps 2005 6 31.05.2005 12:39
Links mit verschiedenen Inhalten und extra Fenster HTML, Usability und Barrierefreiheit 6 27.04.2005 22:23
Variablen und Links PHP Tipps 2005 13 19.01.2005 16:45
Session-ID auto-ergänzung von Links ausschalten? PHP Tipps 2004 3 10.08.2004 16:39
links wie z.B index.php?action=news aircrash PHP Tipps 2004 5 27.07.2004 21:35
Sortieren nach Timestamp Datenbanken 5 01.06.2004 16:04

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
links sortieren id, php links dynamisch ordnen, html sortierte tabelle mit links, php navigation sortieren, links sortieren php, links aus eingabefeld sortieren php, links sortieren, php navigation link sortieren, mortakartos

Alle Zeitangaben in WEZ +2. Es ist jetzt 05:56 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.