php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.06.2008, 16:36  
Erfahrener Benutzer
 
Registriert seit: 12.07.2005
Beiträge: 279
max-dhom
max-dhom eine Nachricht über MSN schicken
Standard Mehrdimensionales array

Hallo zusammen,

ich habe ein Array folgender Struktur für eine Tabelle mit fußballmannschaften:

PHP-Code:

$teams
=array();
/* Das hier wird von einer Datenbankabfrage eingefügt */
$teams[] = array ( 'Name' => $team['Name'],  'tipps' => $anzahl'logo' => $team['Logo'] ); 
Wie kann ich das jetzt nach tipps sortieren lassen? Er sortierts mir immer nach dem Namen!

Grüße,
Max
max-dhom ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 08.06.2008, 16:40  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Laß das von der Datenbank sortieren! Woher $anzahl kommt schreibst Du allerdings nicht. Aber viell. kanst Du das auch in der DB erzeugen?
nikosch ist offline  
Alt 08.06.2008, 16:45  
Erfahrener Benutzer
 
Registriert seit: 12.07.2005
Beiträge: 279
max-dhom
max-dhom eine Nachricht über MSN schicken
Standard

Nein das ist ja das Problem, die anzahl ist nirgens gespeichert, sondern wird ausgelesen, aus einer anderen tabelle, wo die werte aufsummiert werden!
max-dhom ist offline  
Alt 08.06.2008, 17:00  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Probier das doch in der DB Abfrage mit einem JOIN. Dann brauchst du nur eine Abfrage und kannst sie sortiert ausgeben lassen.
Flor1an ist offline  
Alt 08.06.2008, 17:44  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Vor allem ist Anzahl dochdann ein konstanter Wert. Wonach willst Du da sortieren? Oder setzt Du etwa in der Schleife SQL Queries ab? Das ist sowieso übler Stil.
nikosch ist offline  
Alt 09.06.2008, 08:32  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Ich bin mir fast sicher, dass die Sortierung aus der DB erfolgen könnte.
Eine andere, allerdings relatiiv umständliche Methode:
  • Sortierbegriffe in eigenen Array
  • Neuen Array Sortieren
  • Neuen Array aus Ursprungsarray mit nach dem erstellten Indizes erstellen
  • Diesen kopieren und nach Schlüsseln sortieren
PHP-Code:
<?php
$n_ar 
= array();
foreach (
$teams as $team){
    
$n_ar[] = $team['tipps'];
}
sort($n_ar);

$ar_neu = array();
foreach (
$teams as $team){
    
$idx array_search($team['tipps'], $n_ar);
    
$ar_neu[$idx] = $team;
}

$teams $ar_neu;
ksort($teams);
unset(
$ar_neu$n_ar);
?>
__________________
Gruss
L
lazydog ist offline  
Alt 09.06.2008, 13:36  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Das hatten wir doch gerade hier:
http://www.php.de/php-einsteiger/156...al-wieder.html
Ist trotzdem unnötig.
nikosch ist offline  
Alt 09.06.2008, 17:43  
Erfahrener Benutzer
 
Registriert seit: 12.07.2005
Beiträge: 279
max-dhom
max-dhom eine Nachricht über MSN schicken
Standard

Hallo zusammen,

danke für eure Hilfe, ich würde das Problem gerne mit JOIN lösen, da es mir bis jetzt noch nicht bekannt war, aber eine Menge Probleme für mich lösen könnte!
Also folgendes: Ich habe eine Tabelle namens "tipps" die die Werte "Tipp, Begegnung, User" enthält, und eine Tabelle "emusers" mit den Werten "Name, ID".
Jetzt will ich eine Tabelle mit allen Usern erzeugen, die von derer ID es einen Tipp gibt, und in der 2. Spalte soll dann dieser Tipp auch noch angezeigt werden.

Ich habe bisher idesen query:
PHP-Code:
$sql="SELECT *
            FROM emusers INNER JOIN tipps
            WHERE tipps.Begegnung="
.$_POST['tippid']."
            AND emusers.ID==tipps.User 
            ORDER BY Name ASC"

Aber das klappt alles irgendwie nicht!
Wo habe ich denn heir schon den fehler?

Danke,
Max
max-dhom ist offline  
Alt 09.06.2008, 20:16  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

'Klappt nicht' ist eine schlechte Problembeschreibung.
JOIN verlangt i.A. einen ON Zweig, der die Verknüpfung definiert.
Code:
SELECT    Name, 
          Tipp
FROM      emusers u 
LEFT JOIN tipps t
ON        u.ID=t.User
WHERE     t.Begegnung=".$_POST['tippid']."
ORDER BY  Name ASC
Zur Fehlersuche gibts übrigens Fehlermeldungen.
nikosch 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
Turnierbaum aus array erstellen kingflo PHP-Fortgeschrittene 11 30.07.2008 11:32
mehrdimensionales Array als HTML-Formular mindhead PHP Tipps 2008 3 11.04.2008 15:25
Mehrdimensionales Array zusammen setzen... Hawk PHP Tipps 2008 11 08.10.2007 15:37
mehrdimensionales Array in Klasse erstellen Nixwisser PHP Tipps 2007 2 01.08.2007 14:30
Mehrdimensionales Array sortieren Unbekanntes_Pferd PHP Tipps 2006 6 23.05.2006 20:42
mehrdimensionales Array "auflösen" PHP Tipps 2006 9 25.01.2006 19:15
Array auslesen andrew22 PHP Tipps 2006 3 21.01.2006 23:06
Array Formatierung PHP Tipps 2006 3 17.01.2006 19:12
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
[Erledigt] Mehrdimensionales Array in Session speichern PHP-Fortgeschrittene 6 11.10.2005 17:32
mehrdimensionales array an js übergeben PHP Tipps 2005-2 0 11.10.2005 15:51
Problem beim vergleichen von 2 Arrays PHP Tipps 2005-2 1 06.10.2005 14:25
[Erledigt] Mehrdimensionales Array in eindimensionales Array umwandeln PHP-Fortgeschrittene 3 03.01.2005 22:31
Abfrage mit id aus anderer Tabelle suter PHP Tipps 2004-2 15 16.12.2004 14:25

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
maximal dreidimensionales array php, mehrdimensionales array erstellen datenbankabfrage

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:24 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.