- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 16-09-2005, 22:17
brauni54
 Member
Links : Onlinestatus : brauni54 ist offline
Registriert seit: Feb 2005
Beiträge: 345
brauni54 ist zur Zeit noch ein unbeschriebenes Blatt
Standard Ausgabeproblem

Hallo, ich hatte letztens das Problem daten aus 2 tabellen abzufragen und konnte es lösen. Doch jetzt gefällt mir folgendes nicht so recht.
in einer tabelle sind bilder von mitgliedern und in der anderen andere daten, die ich benötige.
die mitglieder sollen in einer galerie mit bild gezeigt werden doch wenn sie mehr als eins geladen haben werden sie auch dementsprechend oft angezeigt. Kann ich irgendwo ein LIMIT setzen damit das Mitglied nur einmal angezeigt wird?
PHP-Code:
$codetreffercode=0;
$treffzahl$treffzahl*$trefferproseite;
$query2="SELECT * FROM $sitetable a INNER JOIN $sitetable22 b 
ON b.userid = a.siteid WHERE b.geschlecht='m' ORDER BY b.name 
ASC LIMIT $treffzahl,$trefferproseite"
;
$result2=mysql_db_query($dbname,$query2,$conn) or die(mysql_error());
while(
$date=mysql_fetch_array($result2))

die zweite frage wäre zu meinem voting. es geht darum mitglieder erst darin anzuzeigen wenn sie die nötige bewertung haben (<-kein problem) und zweitens mindesten 50 Stimmen auf ihr bild bekommen haben(<--Problem) das Problem ist, wenn ich die stimmen auslese zeigt es mir dann trotzdem folgende zahlenbsp an die mit 6,7,8,9 anfangen
kann man das irgendwie ändern oder sollte ich ab mitglieder ab 100 auslesen, denn das müßte ja trotzdem gehen
Mit Zitat antworten
  #2 (permalink)  
Alt 17-09-2005, 07:39
sgt
 Junior Member
Links : Onlinestatus : sgt ist offline
Registriert seit: May 2005
Ort: Köln
Beiträge: 109
sgt ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zu Frage 1:
versuch es mal mit "SELECT DISTINCT * ..."


Gruß
Stephan
__________________
SteGaSoft
Theorie ist, wenn jeder weiß, wie es geht, aber nichts funktioniert, Praxis ist, wenn alles funktioniert und niemand weiß warum.
Mit Zitat antworten
  #3 (permalink)  
Alt 17-09-2005, 16:09
brauni54
 Member
Links : Onlinestatus : brauni54 ist offline
Registriert seit: Feb 2005
Beiträge: 345
brauni54 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

danke werde ich mal versuchen
mein 2.problem konnte ich lösen in dem ich in der db stimmen auf INT umgestellt habe
Mit Zitat antworten
  #4 (permalink)  
Alt 17-09-2005, 16:14
brauni54
 Member
Links : Onlinestatus : brauni54 ist offline
Registriert seit: Feb 2005
Beiträge: 345
brauni54 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

das scheint aber nicht richtig zu sein, hab irgendwo ein fehler, aber weiß nicht an was es genau liegt
PHP-Code:
#wie muß ich DISTINCT einbauen? weiß nicht genau 
$query2="SELECT * FROM $sitetable a INNER JOIN 
$sitetable22 b ON b.userid = a.siteid WHERE b.geschlecht='m' 
ORDER BY b.name ASC LIMIT $treffzahl,$trefferproseite"
;
$result2=mysql_db_query($dbname,$query2,$conn) or die(mysql_error());
while(
$date=mysql_fetch_array($result2)) 
Mit Zitat antworten
  #5 (permalink)  
Alt 17-09-2005, 16:28
sgt
 Junior Member
Links : Onlinestatus : sgt ist offline
Registriert seit: May 2005
Ort: Köln
Beiträge: 109
sgt ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Sorry, kann sein, dass DISTINCT nicht mit INNER JOIN funktioniert .
Vielleicht hilft Dir dieser Link weiter:
http://www.phpforum.de/archiv_40020_..._anzeigen.html

Gruß
Stephan
__________________
SteGaSoft
Theorie ist, wenn jeder weiß, wie es geht, aber nichts funktioniert, Praxis ist, wenn alles funktioniert und niemand weiß warum.
Mit Zitat antworten
  #6 (permalink)  
Alt 17-09-2005, 17:01
brauni54
 Member
Links : Onlinestatus : brauni54 ist offline
Registriert seit: Feb 2005
Beiträge: 345
brauni54 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

tja, ich bekomme es leider immer noch nicht hin
hat denn nicht noch jemand eine idee?
Mit Zitat antworten
  #7 (permalink)  
Alt 17-09-2005, 19:33
brauni54
 Member
Links : Onlinestatus : brauni54 ist offline
Registriert seit: Feb 2005
Beiträge: 345
brauni54 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

habe es nun so versucht, aber mir ist noch immer nichts eingefallen um, falls jemand mehr als ein bild hat, ihn trotzdem nur einmal anzeigen zu lassen
hier der code:
PHP-Code:
$query2 "select $sitetable.*, $sitetable22.bild from $sitetable 
INNER JOIN $sitetable22 ON ($sitetable.name = $sitetable22.name
AND $sitetable.siteid = $sitetable22.userid)
where termteim<>'' ORDER BY termteim DESC LIMIT 0,5"
;
$result2=mysql_db_query($dbname,$query2,$conn) or die(mysql_error());
while(
$date=mysql_fetch_array($result2))
{
$name$date[name];

echo(
"<tr width=\"25%\" valign=\"top\">");
echo(
"<a href=\"http://www.flirtexplosion.de/index_start.php?
trefferid=$date[siteid]&$sidname=$sidsid\" target=\"$linkziel\"><center><img width=\"$neueBreite\" 
border=\"0\" src=\"http://www.flirtexplosion.de/bilder_tum2.php?bild=$date[bild]\"></a>
</font>
<br><center><font size=\"$fontuber\" color=\"$fontcolor\" 
face=\"$schriftart\"><b>$name</b></font></a>"
);
echo(
"</tr>"); 
mit diesem ergebnis werden mir die letzten 5 logins angezeigt doch wenn einer drei bilder hat kommt er halt dreimal in der liste mit seinen verschiedenen bildern vor und das soll nicht sein <--kann ich nicht irgendwo erzwingen, dass derjenige nur einmal egal mit welchen bild angezeigt wird? ich brauch eure hilfe
Mit Zitat antworten
  #8 (permalink)  
Alt 17-09-2005, 19:38
tontechniker
 PHP Senior
Links : Onlinestatus : tontechniker ist offline
Registriert seit: Jul 2005
Beiträge: 1.972
tontechniker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

erstmal code umbrechen
---------
du könntest jede id in einer liste speichern und dann gucken ob diese id schon existiert oder so
__________________
Die Regeln | rtfm | register_globals | strings | SQL-Injections | [11000011101110110111011001011110011]
Mit Zitat antworten
  #9 (permalink)  
Alt 17-09-2005, 19:42
brauni54
 Member
Links : Onlinestatus : brauni54 ist offline
Registriert seit: Feb 2005
Beiträge: 345
brauni54 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

tschuldigung, meine auflösung ist scheinbar zu hoch und ändern kann ich nun nichts mehr, aber hier noch einmal der code
PHP-Code:
$query2 "select $sitetable.*, $sitetable22.bild from $sitetable 
INNER JOIN $sitetable22 ON ($sitetable.name = $sitetable22.name
AND $sitetable.siteid = $sitetable22.userid)
where termteim<>'' ORDER BY termteim DESC LIMIT 0,5"
;
$result2=mysql_db_query($dbname,$query2,$conn) or die(mysql_error());
while(
$date=mysql_fetch_array($result2))
{
$name$date[name];

echo(
"<tr width=\"25%\" valign=\"top\">");
echo(
"<a href=\"http://www.flirtexplosion.de/index_start.php?
trefferid=$date[siteid]&$sidname=$sidsid\" target=\"$linkziel\">
<center><img width=\"$neueBreite\" 
border=\"0\" src=\"http://www.flirtexplosion.de/bilder_tum2.php?bild=$date[bild]\">
</a></font>
<br><center><font size=\"$fontuber\" color=\"$fontcolor\" 
face=\"$schriftart\"><b>$name</b></font></a>"
);
echo(
"</tr>"); 
mit diesem ergebnis werden mir die letzten 5 logins angezeigt doch wenn einer drei bilder hat kommt er halt dreimal in der liste mit seinen verschiedenen bildern vor und das soll nicht sein <--kann ich nicht irgendwo erzwingen, dass derjenige nur einmal egal mit welchen bild angezeigt wird? ich brauch eure hilfe
Mit Zitat antworten
  #10 (permalink)  
Alt 17-09-2005, 20:50
tontechniker
 PHP Senior
Links : Onlinestatus : tontechniker ist offline
Registriert seit: Jul 2005
Beiträge: 1.972
tontechniker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

OffTopic:
welche auflösung hast du?? ich hab 1600x1200 - außerdem kannst du einen beitrag doch per [ändern] ändern oder??
Zitat:
du könntest jede id in einer liste speichern und dann gucken ob diese id schon existiert oder so
kannst du damit denn was anfangen??
__________________
Die Regeln | rtfm | register_globals | strings | SQL-Injections | [11000011101110110111011001011110011]
Mit Zitat antworten
  #11 (permalink)  
Alt 23-09-2005, 19:45
brauni54
 Member
Links : Onlinestatus : brauni54 ist offline
Registriert seit: Feb 2005
Beiträge: 345
brauni54 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hab keine rechte zum ändern
genutzt hat es mir leider nicht, aber trotzdem danke

hat denn noch jemand eine idee, wie ich in der galerie nur ein bild von einem user anzeigen lassen kann auch wenn er mehr als eins geladen hat?
hier nochmal der komplette code um die galerie anzeigen zu können
PHP-Code:
echo("<table cellpadding=\"0\" width=\"95%\"><tr>");
$treffzahlund$treffzahl*$trefferproseite;
$query2="SELECT $sitetable22.* , $sitetable.* FROM 
$sitetable22 inner join $sitetable ON
($sitetable22.userid = $sitetable.siteid) ORDER BY 
$sitetable.name ASC LIMIT $treffzahlund,$trefferproseite"
;
$result2=mysql_db_query($dbname,$query2,$conn) or die(mysql_error());
while(
$date=mysql_fetch_array($result2))
{
$name$date[name];
$bild$date[bild];

if(
$bild=="")
{
$bild="<img src=\"$keins\" align=\"BOTTOM\" border=\"0\">";
}

if(
$date[online]=="online")
{
$codeonline2="<a href=\"index_start.php?trefferid=$date[siteid]
&$sidname=$sidsid\" target=\"$linkziel\"><img src=\"gra/online.gif\" border=\"0\"></a>"
;
}
else
{
$codeonline2="";
}

echo(
"<td width=\"25%\" valign=\"top\">");
echo(
"<a href=\"index_start.php?trefferid=$date[siteid]
&$sidname=$sidsid\" target=\"$linkziel\"><center><img 
width=\"$neueBreite\" border=\"0\" src=\"bilder_tum.php?
bild=$bild\"></a>
<br><center><font size=\"$fontuber\" color=\"$fontcolor\"
 face=\"$schriftart\"><b>$name</b></font></a>
<br>$codeonline2<font size=\"1\"><br><br></font>"
);
echo(
"</td>");
$codetreffercode++;

if(
$codetreffercode=="4")
{
echo(
"</tr><tr>");
$codetreffercode=0;
}
}
mysql_free_result($result2);


if(
$codetreffercode=="0")
{
echo(
"<td width=\"25%\"></td>
<td width=\"25%\"></td>
<td width=\"25%\"></td>
<td width=\"25%\"></td>"
);
}
elseif(
$codetreffercode=="1")
{
echo(
"<td width=\"25%\"></td>
<td width=\"25%\"></td>
<td width=\"25%\"></td>"
);
}
elseif(
$codetreffercode=="2")
{
echo(
"<td width=\"25%\"></td>
<td width=\"25%\"></td>"
);
}
elseif(
$codetreffercode=="3")
{
echo(
"<td width=\"25%\"></td>"); 
}
echo(
"</tr></table>");
?> 
Mit Zitat antworten
  #12 (permalink)  
Alt 23-09-2005, 19:47
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

DISTINCT oder GROUP BY sind evtl. deine freunde. kann dir nicht mehr sagen, bei der menge an code und der (für mich) abstrakten fragestellung.
Mit Zitat antworten
  #13 (permalink)  
Alt 23-09-2005, 20:12
brauni54
 Member
Links : Onlinestatus : brauni54 ist offline
Registriert seit: Feb 2005
Beiträge: 345
brauni54 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

distinct habe ich schonmal versucht aber irgendwie wollte das auch nicht so recht, vielleicht habe ich es auch nicht korrekt gemacht
was verstehst du denn an meiner frage nich? die frage ist einfach wie ich einen user der 2 oder mehrer bilder geladen hat anzeigen kann mit bild
anzeigen tut er sie ja doch wenn yyy zwei bilder hat wird yyy dementsprechend 2 mal angezeigt. einmal mit dem und dem anderen bild. ich möchte aber, dass yyy nur einmal angezeigt wird (erstmal egal mit welchem bild)
Mit Zitat antworten
  #14 (permalink)  
Alt 23-09-2005, 20:15
brauni54
 Member
Links : Onlinestatus : brauni54 ist offline
Registriert seit: Feb 2005
Beiträge: 345
brauni54 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
echo("<table cellpadding=\"0\" width=\"95%\"><tr>");
$treffzahlund$treffzahl*$trefferproseite;
#$sitetable=tabelle mit den daten der user
#$sitetable22=tabelle mit den bildern der user
$query2="SELECT $sitetable22.* , $sitetable.* 
FROM $sitetable22 inner join $sitetable ON
($sitetable22.userid = $sitetable.siteid) 
ORDER BY $sitetable.name ASC LIMIT $treffzahlund,$trefferproseite"
;
$result2=mysql_db_query($dbname,$query2,$conn) or die(mysql_error());
while(
$date=mysql_fetch_array($result2))
{
# siehe oben 
Mit Zitat antworten
  #15 (permalink)  
Alt 26-09-2005, 04:50
brauni54
 Member
Links : Onlinestatus : brauni54 ist offline
Registriert seit: Feb 2005
Beiträge: 345
brauni54 ist zur Zeit noch ein unbeschriebenes Blatt
Standard nachtschicht ;-)

danke nochmal für den tip, habe es nun hinbekommen, doch nun tut sich leider ein weiteres Problem aus. Das Problem ist, dass user die kein Bild von sich geladen haben ein NO PIC Bild bekommen. ich habe es auch mit eine if anweisung versucht doch leider bleibt das feld leer.
hier mal der code:
PHP-Code:
$treffzahlund$treffzahl*$trefferproseite;
$query2="SELECT DISTINCT $sitetable22.* , $sitetable.* 
FROM $sitetable22 inner join $sitetable ON
($sitetable22.userid = $sitetable.siteid) GROUP BY 
$sitetable.name ASC LIMIT $treffzahlund,$trefferproseite"
;
$result2=mysql_db_query($dbname,$query2,$conn) or die(mysql_error());
while(
$date=mysql_fetch_array($result2))
{
$name$date[name];
$bild$date[bild];

if(
$bild=="")
{
$bild="<img src=\"$keins\" align=\"BOTTOM\" border=\"0\">";
}
.... 
ansonsten funzt es schon einwandfrei, dass die leute die auch mehrere bilder haben nur einmal gezeigt werden
danke für eure geduld mit mir
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet. Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

25.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
belbit LiveSupport Script ansehen belbit LiveSupport Script

Schnellen und unkomplizierten Support im LiveSupport-Chat anbieten. Ohne Datenbank und in wenigen Sekunden installiert.

24.05.2012 EichbaumMedia | Kategorie: PHP/ Chat
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:07 Uhr.