[GastForen Programmierung/Entwicklung PHP und MySQL Sortieren einer Liste nach dem ersten Buchstaben

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Sortieren einer Liste nach dem ersten Buchstaben

Liz
Beiträge gesamt: 16

31. Jul 2004, 14:16
Beitrag # 1 von 5
Bewertung:
(1977 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi!

Ich versuche schon seit längerem, eine Liste zu erstellen, in denen Name + dazugehörige eMail eingetragen werden kann. Eine simple Ausgabe der Daten hab ich schon geschafft. Nur hätt ich jetzt gern, dass die Liste nach den Namen geordnet wird, und jeder Buchstabe über den Anker aufgerufen werden kann (Buchstabe --> der erste Buchstabe im Feld 'name' und darüber soll sortiert werden).

Hab ein wenig rumgesucht und bin zu folgendem Code gekommen. Doch irgendwas geht jetzt grauslich schief. --> Es wird mir gar nichts mehr ausgegeben. :)

Kann mir bitte jemand helfen?

Code:

$result = mysql_query("SELECT name, email FROM maillist where name like 'A%' order by name", $link);

// Der Anker
echo("<p class='va-lt'><a href='#A'>A</a>&#160;|&#160;<a href='#B'>B</a>&#160;|&#160;<a href='#C'>C</a>&#160;|&#160;<a href='#D'>D</a>&#160;|&#160;<a href='#EEE'>E</a>&#160;|&#160;<a href='#FFF'>F</a>&#160;|&#160;<a href='#GGG'>G</a>&#160;|&#160;<a href='#HHH'>H</a>&#160;|&#160;<a href='#III'>I</a>&#160;|&#160;<a href='#JJJ'>J</a>&#160;|&#160;<a href='#KKK'>K</a>&#160;|&#160;<a href='#LLL'>L</a>&#160;|&#160;<a href='#MMM'>M</a></p><p class='va-rt'><a href='#NNN'>N</a>&#160;|&#160;<a href='#OOO'>O</a>&#160;|&#160;<a href='#PPP'>P</a>&#160;|&#160;<a href='#QQQ'>Q</a>&#160;|&#160;<a href='#RRR'>R</a>&#160;|&#160;<a href='#SSS'>S</a>&#160;|&#160;<a href='#TTT'>T</a>&#160;|&#160;<a href='#UUU'>U</a>&#160;|&#160;<a href='#VVV'>V</a>&#160;|&#160;<a href='#WWW'>W</a>&#160;|&#160;<a href='#XXX'>X</a>&#160;|&#160;<a href='#YYY'>Y</a>&#160;|&#160;<a href='#ZZZ'>Z</a></p><br>");
echo("<table width='100%'>");

$temp = '';
if (substr($row[0],0,1) != $temp) {
print substr($row[0],0,1);
}
print ("<tr><td>" . $row[0] . "</td></tr>");

// Hier erfolgt die Ausgabe, ohne dem Rest funktioniert sie einwandfrei
while ($row = mysql_fetch_array($temp, MYSQL_BOTH)) {
echo("<tr><td width='40%'>");
printf ("%s", $row['name']);
echo("</td><td>");
printf ("<a href='mailto:" . $row['email'] . "'>" . $row['email'] . "</a>");
echo("</td></tr>");
}

mysql_free_result($result);

echo("</table>");


Danke euch!!!

LG
Liz


----------
It does not do to dwell on dreams and forget to live!
X

Sortieren einer Liste nach dem ersten Buchstaben

oesi50
  
Beiträge gesamt: 2315

31. Jul 2004, 14:33
Beitrag # 2 von 5
Beitrag ID: #100529
Bewertung:
(1977 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Liz,

überlege mal, ab wann in Deinem Script $row verfügbar ist.

Und noch was, irgendwie fehlt noch so was wie <a name="X">Buchstabe</a>.

Wenn Du eine Liste aller verfügbaren Buchstaben brauchst, geht das leicht mit dieser Abfrage:
SELECT DISTINCT substring(name,1,1) FROM maillist

Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)


als Antwort auf: [#100527]
(Dieser Beitrag wurde von oesi50 am 31. Jul 2004, 14:39 geändert)

Sortieren einer Liste nach dem ersten Buchstaben

Liz
Beiträge gesamt: 16

31. Jul 2004, 15:59
Beitrag # 3 von 5
Beitrag ID: #100540
Bewertung:
(1977 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Oesi!

Ok. Ich habs mal ein bisschen anders versucht, kommt aber auch nix raus. Geb ich vielleicht das mysql_free_result zu spät aus? Oder wird mir gar nichts in die while-Schleife übernommen?

$anker = mysql_query("SELECT DISTINCT substring(name,1,1) FROM maillist", $link);
printf ("<a href='#" . $anker . "'>" . $anker . "</a>");

echo("<table width='100%'>");
$result = mysql_query("SELECT name, email FROM maillist order by name", $link);
$temp = '';

while ($row = mysql_fetch_array($temp, MYSQL_BOTH)) {
$test = substr($row[0],0,1);
if ($test != $temp) {
// print $test;
printf ("<tr><td><a href='" . $test[0] . "'>" . $test[0] . "</a></td></tr>");
}
echo("<tr><td width='40%'>");
printf ("%s", $row['name']);
echo("</td><td>");
printf ("<a href='mailto:" . $row['email'] . "'>" . $row['email'] . "</a>");
echo("</td></tr>");
}

mysql_free_result($result);
echo("</table>");

Bei der Anker-Liste gibt er mir "Resource id #4" aus. Das is der nächste Auto-Index-Eintrag (es befinden sich 3 Datensätze in der Tabelle)

LG
Liz

----------
It does not do to dwell on dreams and forget to live!


als Antwort auf: [#100527]

Sortieren einer Liste nach dem ersten Buchstaben

oesi50
  
Beiträge gesamt: 2315

31. Jul 2004, 16:20
Beitrag # 4 von 5
Beitrag ID: #100541
Bewertung:
(1977 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
versuchs mal so:

$result = mysql_query("SELECT DISTINCT substring(name,1,1) FROM maillist", $link);
while ($row = mysql_fetch_row($result) ) {
print("<a href='#" . $row[0] . "'>" . $row[0] . "</a>");
}
echo("<table width='100%'>");
$result = mysql_query("SELECT name, email FROM maillist order by name", $link);
$temp = '';
while ($row = mysql_fetch_row($result)) {
$test = substr($row[0],0,1);
if ($test != $temp) {
print ("<tr><td><a href='" . $test . "'>" . $test . "</a></td></tr>");
}
$temp != substr($row[0],0,1);
echo("<tr><td width='40%'>");
printf ("%s", $row['name']);
echo("</td><td>");
print ("<a href='mailto:" . $row[1] . "'>" . $row[0] . "</a>");
echo("</td></tr>");
}
mysql_free_result($result);
echo("</table>");

Ich habe das allerdings nicht getestet. Es kann sein, dass noch Syntaxfehler drin sind.

Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)


als Antwort auf: [#100527]
(Dieser Beitrag wurde von oesi50 am 31. Jul 2004, 16:21 geändert)

Sortieren einer Liste nach dem ersten Buchstaben

Liz
Beiträge gesamt: 16

31. Jul 2004, 17:06
Beitrag # 5 von 5
Beitrag ID: #100553
Bewertung:
(1977 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hey, das is ja super! :)

Bekomm jetzt eine tolle Ausgabe! Danke für deine Hilfe!!! :)

LG
Liz
----------
It does not do to dwell on dreams and forget to live!


als Antwort auf: [#100527]
X

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
29.09.2022

IDUGS#85 Press2id

Zoom Meeting
Donnerstag, 29. Sept. 2022, 19.00 - 21.00 Uhr

Vortrag

Kennst du WordPress? Vielleicht. Verwendest du WordPress? Ja, klar! WordPress ist das am weitesten verbreitete System für die Erstellung von Webseiten. Um Webseitenbau soll es auf dieser IDUG aber nicht gehen. Gregor zeigt press2id (github.com/grefel/press2id). Seine Open-Source-Lösung für die Verbindung von Web und InDesign. Richtig gelesen: InDesign liest mithilfe von press2id die Inhalte der WordPress-Webseiten und generiert daraus Zeitschriften, Kataloge, Programmhefte oder Bierdeckel (das zeigen wir natürlich auch!). So wird die „Content First“ Theorie zu einer konkret anwendbaren Praxis, ohne gleich die ganz großen Räder zu drehen. Versprochen: Jeder kann nach der IDUG innerhalb kürzester Zeit Daten von WordPress nach InDesign importieren. Aber Achtung: Prinzipiell kann press2id aus jeder Website, oder besser Contentmanagementsystem (CMS) Daten auslesen und nach InDesign importieren! Spannend, oder? Danach geht es in die Praxis: Stefan hat die Webseite des Parktheater Iserlohn (parktheater-iserlohn.de) gestaltet. Die gedruckten Spielpläne (parktheater-iserlohn.de/interaktive-spielplaene) werden mit press2id realisiert. Wir schauen in den Maschinenraum und zeigen, wie die Lösung des Projekts realisiert wurde.

Nein

Organisator: InDesign Usergroup Stuttgart

Kontaktinformation: Christoph Steffens, E-Mailidug AT satzkiste DOT de

https://idugs85.eventbrite.de/

Von Wordpress nach InDesign
Veranstaltungen
08.11.2022

Frankfurt, Fraport Conference Center
Dienstag, 08. Nov. 2022, 13.30 - 18.00 Uhr

Seminar

Auf der Enfocus World Tour stellen wir Ihnen gemeinsam mit Enfocus die aktuellen Highlights von Enfocus Switch und dem Impressed Workflow Server (IWS) vor. Wir präsentieren Ihnen anhand typischer Aufgabenstellungen in einem modernen Produktionsbetrieb die Möglichkeiten, die Enfocus Switch für die Automatisierung und Standardisierung von Abläufen bietet. Wir haben sowohl für Produktionsverantwortliche als auch technisch Interessierte ein spannendes Programm vorbereitet, bei dem Sie sicherlich viel Neues erfahren werden, welches Sie in Ihrem eigenen Betrieb umsetzen können. Die Veranstaltung bietet darüber hinaus eine hervorragende Möglichkeit, sich mit anderen Anwendern und Workflow-Spezialisten auszutauschen und Antworten auf konkrete Aufgabenstellungen zu erhalten, welche Sie mit Hilfe von Enfocus Switch/IWS umsetzen möchten.

Wir sind jeweils an 2 Tagen in Frankfurt, Hamburg und München vor Ort. Der erste (halbe) Tag richtet sich in erster Linie an Betriebsleiter und Produktionsverantwortliche in Druckereien - ist also weniger technisch orientiert - sondern gibt einen Überblick zu den heutigen Möglichkeiten einer automatisierten Produktion.

Der zweite Tag (Switch Anwender-Treffen) richtet sich an bestehende Switch-Anwender und Administratoren.

Anmeldung und weitere Infos: https://www.impressed.de/schulung.php?c=sDetail&sid=310

Ja

Organisator: Enfocus/Impressed

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=310

Enfocus World Tour 2022