Einige Probleme/Fragen zu Tabellen

oFE-SchaTTeN

Mitglied
Hi all

Ich möchte bei meinem vwar Script einige User auf einer extra Seite anzeigen lassen... nun DB Zugriff, Daten auslesen, Daten ausgeben hab ich ja schon nur gibt er mir jetzt die kompletten User aus die in der Tabelle eingetragen sind. Jetzt würde ich gerne, da jeder User in der Tabelle eine eigene UserID (Spaltennamen "memberid") hat nur die Member zb mit der ID 2,6,24,35 ausgeben lassen... Weiters lasse ich das Geburtsdatum des Members auslesen und ich hätte da gern, dass er es automatisch von zb 07.02.1980 in sein alter also 24 verwandelt lässt sich das machen? Dann hab ich noch das Problem, dass ich das Land woher die Members kommen auslesen lasse... in der Tabelle wird das über vwar aber nur unter zb. de oder at gespeichert und das gibt er mir auch wieder aus wie kann ich das wie bei vwar machen dass er mir da eine Flagge also ein .gif ausgibt? Thx schon mal für die hilfe

Hier mein bisheriger Code bitte nicht schlagen ich bin php !

PHP:
<?php
$verbindung = @mysql_connect("localhost","nick","pass");

if (!$verbindung) {
                echo "Keine Verbindung möglich!\n";
                exit;
        }

$abfrage = "SELECT name,country,icq,birthday FROM vwar_member";

$erg = mysql_db_query("db_name",$abfrage,$verbindung);

while (list($name,$country,$icq,$birthday) = mysql_fetch_row($erg)) {
                echo "$name  $birthday $country  $icq <BR>\n";
        }
mysql_close($verbindung);

?>
 
Hallo.

Also, deine Probleme sind nicht gerade komplizierter Natur.
Oder anders gesagt:
Jemand, der sich 'n bisschen damit beschäftigt, müsste das eigentlich mit Leichtigkeit hin bekommen.
Kennst du MySQL denn überhaupt richtig?
Ich denke mal nicht, denn die Abfrage, die zum aussortieren der "memberid" notwendig ist, ist wirklich sehr simpel!
Ich hab' das Script mal so geändert, dass es es die Mitglieder 2 und 6 anzeigt.
Das siehst du ja an der $abfrage.
Sorry, aber hab's 'n bisschen verändert. Konnte es nicht lassen! Soll ja auch nur zur kurzen Demo dienen.

PHP:
<?php 
@mysql_connect("localhost","nick","pass") OR die('Keine Verbindung möglich!\n'.@mysql_error); 

$abfrage = "SELECT name,country,icq,birthday FROM vwar_member WHERE memberid='2' AND memberid='6'"; 

$erg = @mysql_query($abfrage); 

while ($Row = @mysql_fetch_assoc($erg))
{
echo  "$Row[name]__$Row[birthday] Row[$country]__$Row[icq] <BR>\n"; 
}

mysql_close(); 
?>

Und das mit dem "verwandeln" des Geburtstages sollte auch kein wirkliches Problem sein.
Das könnte man u. U. sogar direkt in der MySQL_Query konvertieren.
Aber dazu solltest du vielleicht lieber ein Handbuch konsultieren.
Denn sonst werden sich immer wieder Fragen ergeben, die dich evtl. verzweifeln lassen, aber eigentlich nicht schwer sind.
 
Hi

Also erstmal riesen Thx und ich mussen sagen ich könnte mich selber schlagen... ich hatte das mit dem WHERE memberid=1 schon nur hab ich keine ' gemacht... ok das mit dem Geburtsdatum spiel ich mich selber rum aber könntest du mir vielleicht bei der Sache mit den Flaggen noch helfen? Also das er at, de usw. als gif ausgibt?

EDIT: sorry aber das funktioniert net...

wenn ich
PHP:
$abfrage = "SELECT name,country,icq,birthday FROM vwar_member WHERE memberid='2'";

mach geht es und er gibt mir den einen member aus aber sobald ich

PHP:
$abfrage = "SELECT name,country,icq,birthday FROM vwar_member WHERE memberid='2' AND memberid='6'";

eingebe ist die Seite leer - es wird einfach nichts angezeigt auch keine Fehlermeldung

EDIT2: hat sich erledigt hab das jetzt so hinbekommen das es genau so ist wie ich es will wegen den ids anzeigen - wäre noch das wegen den Flaggen *ganzliebguck*
 
Zuletzt bearbeitet:
Also, das mit der Abfrage war mein Fehler (ziemlich blöd - übereilt).
Das muss natürlich so geschrieben werden:

PHP:
$abfrage = "SELECT name,country,icq,birthday FROM vwar_member WHERE memberid='2' AND memberid='6'";

Für die Flaggen kannst du entweder die .gif-Bilder in at.gif und de.gif umbenennen, oder eine Tabelle (oder stattdessen ein Array) mit den Dateinamen der Bilder abspeichern und dann gleich mit auslesen.
Wenn du zum Beispiel eine extra Tabelle mit dem Namen 'countrys' hast, könnte das so aussehen (simple version):

$abfrage = "SELECT countrys.file, vwar_member.name FROM countrys, vwar_members WHERE memberid=2 OR memberid=6 AND countrys.name=vwar_member.country";

Wobei die Spalte "file" in "countrys" die Dateinamen beinhaltet und "name" die Abkürzungen (at, de, usw.).

Aber diese Abfrage ist wirklich nicht gerade "gut".
Ich hab' jetzt nur mal versucht, dir die Funktionsweise näher zu bringen.
Im Normalfall nimmt man für sowas den "Befehl" "JOIN". (Oder man macht das Ganze direkt in einem Array - da sich die Länder und Dateien wohl kaum ändern werden)
Falls du diesen nicht kennen solltest - NACHLESEN!

Du solltest dich wirklich vorher etwas schlau machen.
Denn ich glaub' kaum, dass solche Fragen in diesem Forum hier liebendgerne beantwortet werden. :rolleyes: ;)
Da muss man schon mal mit sowas rechnen:

:suchen: , :RTFM: oder :google:

(ohne jetzt hier jemanden zu nahe treten zu wollen ;-] :p )
Naja, diese Fragen sind nun wirklich sooo einfach, dass man schon selbst in der Lage sein sollte diese zu beantworten.

Vielleicht mal ein Tutorial zu MySQL reinziehen.
Dann sollte es auch kein Problem mit dem Geburtstags-Rechner sein.
 
lol das mit dem Geburtstagsrechner lass ich jetzt mal so stehen ich glaub mit 21 kann ich mir schon einen Rechner selber leisten... Ich sehe zwar net was zwischen deiner erster Version mit WHERE anders sein soll als an der zweiten aber ok wie gesagt ich habe das schon selbst hinbekommen - trotzdem thx... du hast glaub ich ein wenig den falschen Eindruck von mir das ich ein kompletter PC bin :D naja ich gfxe ca. seid 4 jahren nun hab ich mich entschlossen die Scripts auch selber zu machen und habe bei 0 angefangen sorry...

Nun ja lassen wir das könnte das mit den Flaggen in etwas so aussehen?

PHP:
if($row["country"]) $countrybit=makeimgtag("images/".$row["country"].".gif",$country_array[$row["country"]]);
				else $countrybit="";
 
rofl.gif

Also, jetzt mal vorweg:
mit Geburtstagsrechner meinte ich keinen PC, den du dir zum Geburtstag schenken lassen sollst, sondern den Script-Teil, der dir die Geburtstage der Mitglieder in Jahren umrechnet!
:eek: :-( :p

Nun zu den Flaggen:
Natürlich könnte es so aussehen.
Warum auch nicht. Ich weiss doch nicht (und möchte es ehrlich gesagt auch nicht so detailiert wissen), wie du das weiter ausgibst, oder wie du es handhabst.
Ich denke, das wirst du schon am besten wissen.
 
k sorry dann hab ich das falsch verstanden :-(

hab jetzt auf jedenfall schon eine Lösung gefunden für die Flaggen werd wohl auch was für den Geburtstag finden müssen :rolleyes:
 
Das geht aber auch direkt im Query:
beispiel:
PHP:
"SELECT name, (TO_DAYS(NOW())-TO_DAYS(birthday))/365 AS geburtstag FROM vwar_member"

ob aber eleganter ist, sei mal dahingestellt, aber wenn MySQL solche Funktionen schon zur Verfügung stellt ,dann sollten man diese auch benutzen ;)
 
Hi loki

Erstmal Thx dein Scriptteil funktioniert aber er zeigt damit nur an, an welchem Tag/Monat er geboren ist ich hätte aber gern das er gleich direkt das Alter also zb 20 anzeigt
 
ok, mein Fehler ;) probiers mal so:

PHP:
SELECT name, DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW()) - TO_DAYS(birthday)), '%y') birthday
FROM vwar_member";
 
Zurück