• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

Frage an die php Profis

newmacuser24

Antonowka
Registriert
27.12.05
Beiträge
355
Hallo zusammen!

Suche für folgendes Problem eine Lösung:

In einer MySQL Datenbank befindet sich eine Tabelle. In dieser Tabelle befinden sich 3 Spalten: Name, Telefonnummer, Emailadresse.
Jetzt möchte ich zunächst nur ALLE Namen aus der Tabelle auf einer Webseite darstellen. Alle Namen sollen dabei als Link funktionieren und wenn man einen anklickt, wird auf einer neuen Seite oder neben der Tabelle (egal) der restliche Datensatz (also Telefonnummer und Emailadresse) angezeigt.

Ich weiss, wie man die Daten aus der Tabelle ausliest. Ich weiss auch, wie man sie in einer einfachen Tabelle darstellt. Probleme gibts jetzt bei der Umsetzung mit den Links der einzelnen Datensätze, bzw. wär es optimal, wenn die Liste nur einen gewissen Bereich einnehmen würde und ab einer bestimmten Länge dann erlauben würde, dass man in ihr scrollt.

Vielleicht hat ja jemand einen Hinweis, wo man mehr zu diesem Thema lernen kann?
Danke schon mal im Voraus!
 
Ich kapiere ganz ehrlich gesagt überhaupt nicht, was du genau willst.. ;)
Was haben denn die Links mit dem Scrollen zu tun?
Bist du sicher, dass das eine PHP-Frage ist? Nicht eher eine HTML/CSS-Frage?
 
Also ne ID pro Datensatz wäre nett, darauf kann der Link dann verweisen.
Also SELECT id, name FROM blablabla.
dann n Link aufbauen mit showdetails.php?id=$id
über die kannste ja den rest laden
Und um nicht alle auf einmal zu laden schaust du dir im mysql Manual noch den Limit Operator an ;)
 
Hm...ja, bei genauerer Betrachtung könnte es sich um eine HTML-Frage handeln...sorry, wenn ich ins falsche Forum gepostet habe.
Das mit dem Scrollen wär rein kosmetisch, weshalb ich auch "...bzw. wär es optimal" geschrieben habe. Die eigentliche Frage dreht sich um die Links.
 
und den rest kann man per get machen
ich hab da ma nen codeschnippsel
Code:
$sql='SELECT * FROM `image` WHERE `owner`=\''.$user['ID'].'\' LIMIT '.$_GET['von'].','.$_GET['bis'].';';
$res=mysql_query($sql);
echo'<table>';
$true=false;
while($pic=@mysql_fetch_array($res)){
$true=true;
echo'<tr><td><a href="'.$pic['file'].'"><img src="'.$pic['file'].'" width="200" height="150"></a></td><td><a href="index.php?site=acp&site2=pics&op=del&id='.$pic['picid'].'">Löschen</a></td></tr>';
}
if($true==true){
$vonplus=$_GET['von']+30;
$vonminus=$_GET['von']-30;
$bisplus=$_GET['bis']+30;
$bisminus=$_GET['bis']-30;
if ($vonminus >= 0){
echo'</table><p><a href="index.php?site=pics&von='.$vonminus.'&bis='.$bisminus.'">Letzte 30</a>  ||  <a href="index.php?site=pics&von='.$vonplus.'&bis='.$bisplus.'">N&auml;chste 30</a>';
}else{
echo'</table><p>||  <a href="index.php?site=pics&von='.$vonplus.'&bis='.$bisplus.'">N&auml;chste 30</a>';
}else{
echo'</table>Es wurden keine Bilder gefunden!';
}

kurzer schnippsel aus ner vorversion eines bilderhosters
 
Den Link erstellst du am besten indem du die ID des entsprechenden Datensatzes in einen Link einfügst (z.B. benutzerdetails.php?id=1) So kannst du dann bei der Detailansicht die ID aus der URL lesen ($_GET["id"]) und die restlichen Daten aus der Datenbank abfragen.

Wenn du keine ID hast, kannst du das auch mit der Telefonnummer oder mit der E-Mail des Benutzers machen. Kommt eigentlich aufs gleich raus, ist nur nicht so schön...


duderino
 
Vorallem bei Familien wo dann ne Telefonnummer oder E-Mail mal doppelt sein kann ;D
 
Vorallem bei Familien wo dann ne Telefonnummer oder E-Mail mal doppelt sein kann ;D

Ja, mit Id ist es natürlich viel viel besser. Aber wenn er keine ID hat und das evtl auch nicht ändern kann, muss er halt schauen wie er es am besten macht. Man kann ja auch beides nehmen. E-Mail-Adresse und Telefonnummer...


duderino
 
Naja schnell noch ne neue Spalte reinwerfen ist jetzt mit mysql nicht so der Aufwand ;)
 
ALTER TABLE blablabla ADD id int(8) ZEROFILL AUTO_INCREMENT PRIMARY KEY;

so in etwa ;) und schwupps haben auch schon alle eine nummer.
 
Fügt MySQL dann wirklich die IDs für bestehende Einträge schon mit ein? Hab immer gedacht dass das nicht funktioniert. Werde es gleich mal testen...
 
und, hats funktioniert? ;)
wegen dem auto increment füllt er die tatsächlich immer von alleine ein - ausser du bestimmst den wert beim erstellen des datensatzes.
 
Tatsache. Hat funktioniert. Wusste wirklich nicht dass das so funktioniert.
Außerdem wusste ich nicht dass es sowas wie ZEROFILL gibt :)

Na dann steht newmacuser24 ja nichts mehr im Weg ;)
 
<grundsatzdiskussion> warum zerofill? was solln das bringen, außer ner einheitlichen formatierung?</GSD>
 
zerofill bewirkt das je nach sortiervorgang die zahlen nicht durcheinander kommen.

1
10
11
12
13
14
15
16
17
18
19
2
20
21
22
23
24
25
26
27
28
29
3
30

joh, wenn da ein 0 davor ist passiert das nicht. computer ist eben nicht so schlau wie mensch ;) es gibt aber diverse sortiermöglichkeiten (in php), je nach dem wird da auch "menschlich" sortiert.
 
Aber warum nicht UNSIGNED? Oder mag wer negative IDs vergeben? ;D
 
ZEROFILL hab ich noch nie benutzt und ein Order by ID in der Abfrage liefert auch kein 1, 10, 11, …, 19, 2, 21, … sondern ganz normal 1, 2, 3, …, 9, 10, 11, …
 
ZEROFILL hat bei mir die Auswirkung gehabt, dass die IDs nicht so aussehen: 1,2,3,4,5 sondern so: 000001,000002,000003,...