DB oder auch Datei auslesen ... -> Wie?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
auflistung
ausgestrahlten buttons
beitrag
button
daten
dokument
erg
ergebnis
funktion
gen
grad
limit
number
order
rotation
schleifen
skript
tabelle
target
zeilenumbruch
-
Jaja, das kleine Engelchen versuch sich mal wieder an einem Script XD oder zumindest so in der Art ... *g*
Und zwar habe ich ein kleines Button-Rotation-Projekt er?ffnet, das auf einem kostenlosen Script basiert (http://phpwebscripts.com/ -> EasyBannerFree) und w?rde gerne folgende zus?tzliche Features einf?gen:
- Auflistung aller Member oder Buttons
- Top 10 der meist ausgestrahlten Buttons
- Members, die noch auf die Freischaltung warten
Als konkretes Beispiel, wie ich das meine, gibt's den Link zu folgender Seite:
http://www.so-you.net/rotation/stats.php?start=0
Kann man das einigerma?en leicht selber erstellen (ich bin ABSOLUTER PHP-Anf?nger ^^"""")? Kann man eventuell ein Script "querschalten", es also in das vorhandene Rotations-Script einbauen?
Ich w?rde mich ?ber Anregungen, Ideen und Hilfestellungen freuen ^_^ -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
- Auflistung aller Member oder Buttons
- Top 10 der meist ausgestrahlten Buttons
- Members, die noch auf die Freischaltung warten
Die genannten Punkte d?rften mit einer Datenbank relativ einfach zu realisieren sein.
Beispiel: Ein Query liest die meist ausgestrahlten Buttons aus:
<? $sql = "SELECT * FROM buttons ORDER BY AnzahlderAusstrahlungen LIMIT 10"; ?>
Mit einer Textdatei d?rfte das evtl. etwas komplizierter werden ...
-
Hi ho^^
Die Daten werden in der DB gespeichert *grad nachgeschaut hat*
Wie genau muss ich den Code, den du oben angegeben hast, denn modifizieren? Ich habe ja alle m?glichen Programme in der DB, will aber nur die Daten aus den Tabellen "rotation_" auslesen^^
Und: Funktioniert das f?r all meine gew?nschten Funktionen oder nur f?r die Top10?
Viele liebe Gr??e^^ -
blackangel- schrieb:
Hi ho^^
Die Daten werden in der DB gespeichert *grad nachgeschaut hat*
Das ist gut (bzw. einfacher das auszulesen) ...
Wie genau muss ich den Code, den du oben angegeben hast, denn modifizieren? Ich habe ja alle m?glichen Programme in der DB, will aber nur die Daten aus den Tabellen 'rotation_' auslesen^^
Wie sieht die Datenbankstruktur aus?
In wie vielen Tabellen sind die Daten verteilt?
Und: Funktioniert das f?r all meine gew?nschten Funktionen oder nur f?r die Top10?
Die Abfrage ruft die Top10 der ausgestrahlten Buttons ab.
Alle anderen (genannten) Abfragen m?ssten leicht zu realisieren sein:
<? /*** Top10 ***/ $sql = "SELECT * FROM <tabelle> ORDER BY <spalte> LIMIT 10"; /*** Mitglieder, welche noch nicht freigeschaltet wurden ***/ $sql = "SELECT * FROM <tabelle> WHERE <freigeschaltet> = 'nein'"; /*** Auflistung aller Member ***/ $sql = "SELECT * FROM <tabelle>"; ?>
Die Spalten-, Tabellennamen m?ssten, je nach Datenbankstruktur, noch angepasst werden.
Viele liebe Gr??e^^
m???????????ep ... -
Huhu^^
Erst einmal danke f?r deine Hilfe *h?pf*^^
Es gibt nur eine Tabelle (was das Ganze hoffentlich noch einfacher macht ^.^) namens "rotation".
*******************************************
Nyooo, dann habe ich mal wieder die ?blichen Fragen:
- M?ssen die spitzen Klammern stehen bleiben oder soll ich sie l?schen? *unendlich d?mlich f?hl -.-"*
- Muss ich nicht noch irgendetwas erg?nzen, damit ich ?berhaupt die DB kontaktieren kann?
- Muss ich noch eine Tabelle in das PHP Dokument einf?gen, damit die Daten einigerma?en geordnet ausgegeben werden?
- Wenn ja, welche Variablen (also ich meine jetzt nicht die konkreten) muss ich dann in die Tabelle einf?gen?
*******************************************
Bei den top10 m?sste die Spalte ?brigens "i_m" lauten, bei den nicht-freigeschalteten Mitgliedern "approved".
Beitrag ge?ndert am 4.10.2005 02:42 von blackangel- -
Also wenn ich kein PHP k?nnte w?rde ich nicht versuchen ein Skript zu ?ndern.
Ich w?rde nach eine Skript suchen, was die Funktionen hat welche ich m?chte.
Wie w?re es denn mit diesen Skript?
http://www.eschew.net/scripts/phpbe/2.0/
P.S. ich muss gestehen, dass ich es nicht installiert habe und die Demo geht nicht. Aber die features (http://www.eschew.net/scripts/phpbe/2.0/features.php) sehen viel versprechend aus.
P.P.S. gefunden habe ich das Skript auf http://www.webscriptsdirectory.com/PHP/Ads-Management/index.php
Jens -
Hi Jens^^
Um ehrlich zu sein, benutze ich das Script schon f?r meinen Banner-Exchange. Man kann bei dem Script leider die Table-Namen nicht festlegen, die in der DB angelegt werden >_< und somit ?berschreibt sich das Programm dann selber (wobei ich meine Member nat?rlich ungern l?schen m?chte...)
Da ich nur eine Datenbank habe, ergibt sich aber zwangsl?ufig das Problem.
Ich habe Darkrose auch schon ins Forum gepostet, aber mir hat leider niemand genatwortet und ich wei? nicht, wo genau ich im Script die Table-Namen einstellen kann ^^""""
Ansonsten w?re ich vom PHPBE20 auch gar nicht abgewichen, weil es [nach einigen Modifikationen] recht gut ist ... aber es l?sst sich leider nicht doppelt in eine DB installieren -.-" -
*******************************************
Nyooo, dann habe ich mal wieder die ?blichen Fragen:
- M?ssen die spitzen Klammern stehen bleiben oder soll ich sie l?schen? *unendlich d?mlich f?hl -.-'*
Die Spitzen Klammern m?ssen weg (sofern die Tabelle nicht irgendwie <blabla> heisst )
- Muss ich nicht noch irgendetwas erg?nzen, damit ich ?berhaupt die DB kontaktieren kann?
Ja, hab ich dummerweise vergessen zu schreiben, sry!
- Muss ich noch eine Tabelle in das PHP Dokument einf?gen, damit die Daten einigerma?en geordnet ausgegeben werden?
Wenn Du willst, ja.
- Wenn ja, welche Variablen (also ich meine jetzt nicht die konkreten) muss ich dann in die Tabelle einf?gen?
In dem Array, in welchem der R?ckgabewert der Funktion "mysql_fetch_assoc" (oder ?hnlich) gespeichert ist, befinden sich alle Inhalte, die ausgelesen wurden.
Bei den top10 m?sste die Spalte ?brigens 'i_m' lauten, bei den nicht-freigeschalteten Mitgliedern 'approved'.
Somit d?rfte das Skript etwa so aussehen:
<? /*** Verbindung zur Datenbank ***/ $conn = mysql_connect("mysql.lima-city.de", "USERxxxx", "Passwort") or die("Verbindung zum MySQL-Server schlug fehl!"); mysql_select_db("NamederDatenbank") or die("Die gew?nschte Datenbank ist auf dem Server nicht auffindbar."); /*** Top10 ***/ $sql1 = "SELECT * FROM <tabelle> ORDER BY i_m DESC LIMIT 10"; /*** Mitglieder, welche noch nicht freigeschaltet wurden ***/ $sql2 = "SELECT * FROM <tabelle> WHERE approved = 'nein'"; /*** Auflistung aller Member ***/ $sql = "SELECT * FROM <tabelle>"; ?>
Nun m?sste nur noch der Tabellenname, sowie einige Parameter bei der Datenbank-Verbindung (bzw. Auswahl), ge?ndert werden.
-
-.-
Irgendwie klappt es immer noch nicht *schniieeef*
Die Seite l?d einfach nur, bleibt aber wei?. Alle Daten stimmen aber...
Oder muss ich das irgendwo ins Script selber schreiben O.O ?
/EDIT/
Ich habe mich jetzt selber mal hingesetzt und mich halbwegs eingelesen ^^""" Herausgekommen ist das (funzt sogar ^0^)
<?php include("verbinden.php"); $abfrage = "SELECT urlbanner,siteurl FROM rotation"; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { echo "<table width=\"100\%\" border=\"0\" cellspacing=\"2\" cellpadding=\"2\"><tr><a href=\"$row->siteurl\" target=\"_blank\"><img src=\"$row->urlbanner\" border=\"0\"></a></tr></table>"; } ?>
In der verbinden.php steht ds mysql_connect-Zeugs und die Ausgabe erfolgt mittels while-Schleife, wenn ich das richtig verdstanden hab XD
Derzeit werden allerdings alle Button untereinander angezeigt, aber ich h?tte sie lieber nebeneinander und dann einen Zeilenumbruch, sobald 100% der Breite besetzt sind ^^""
Beitrag ge?ndert am 9.10.2005 01:11 von blackangel-
Beitrag ge?ndert am 9.10.2005 01:12 von blackangel- -
Derzeit werden allerdings alle Button untereinander angezeigt, aber ich h?tte sie lieber nebeneinander und dann einen Zeilenumbruch, sobald 100% der Breite besetzt sind ^^""
Da du nicht wei?t, wie breit 100% sind, kannst du hier allenfalls mit CSS tricksen. Als weg mit der HTML-Tabelle! Stattdessen nimmst du einfach die Bannergrafik und packst sie in ein span-Tag:
print(
'<span class="babanner"><a href="'.
$row->siteurl.
'" target="_blank"><img src="'.
$row->urlbanner.
'" border="0"></a></span>'.
"\n"
);
Im CSS-Teil der HTML-Seite schreibst du dann:
.babanner
{
display:block;
float: left;
clear: right;
}
Das m?sste die Banner so lange nebeneinanderstapeln, bis der Platz nicht mehr ausreicht. Danach geht es in der n?chsten "Zeile" weiter.
*nachtr?glich_einf?g* (2005-10-11)
Ich vergess immer wieder, dass das Lima-Forum Backslashes frisst. Das "n" ist in wirklichkeit ein Zeilenumbruch, also ein Backslash vor einem n. Wenn du meinen Post "zitierst" kannst du im Quelltext die richtige Notation erkennen.
Beitrag ge?ndert am 11.10.2005 12:32 von alopex -
Dann wird mir folgender Code ausgegeben:
print( ''. "n");print( ''. "n");
plus die "broken links" der Bilder -.-"""
Ich glaub, ich peil's nie XD
/EDIT/
Die "'" vor den $row mussten weg ... jetzt werden die Bilder angezeigt ^_^, aber das
print( ''. "n");print( ''. "n");
bleibt nach wie vor ^^"
Achso, ja, guckst die hier:
http://cat82.ca.funpic.de/Hp/Rotation/test.php
/Doppeledit ^^""""/
Ich habe jetzt solange daran rumgel?scht, bis alles passt XD
Also: print () weg, '' weg, "n" weg ...
http://cat82.ca.funpic.de/Hp/index.php?content=rotation_all
Ich hoffe, das haut jetzt mit den Zeilenumbr?chen immernoch hin *g* ^^""""
Beitrag ge?ndert am 9.10.2005 14:04 von blackangel- -
Sorry f?r den Doppelpost, aber ich h?tte es noch unversch?mter gefunden, einen neuen Thread aufzumachen ^,~ (ihr k?nnt mir die Gulden auch abziehen^^)
Wie kann ich bei den Top10 noch die Zahlen 10 bis 1 vor den jeweiligen Buttons auslesen/errechnen lassen? Gibt es daf?r einen bestimmten Code oder muss ich mich von putzigen meiner while-Schleife trennen?
Alles andere funktioniert mittlerweile freu* ^0^ -
Nehmen wir mal an, du beginnst mit der Position 1.
Dann w?rde ich vor der While-Schleife folgendes schreiben:
$number = 1;
In der While Schleife wird dann irgendwo $number ausgegeben, sie hat im ersten Durchlauf den Wert 1.
Am Ende der Schleife wird folgendes geschrieben:
$number++;
Damit wird sie um 1 erh?ht. Und das in jedem Durchlauf erneut.
MfG lagerhaus -
Hmmm, ich habe gerade mehrere Versionen durch, aber irgendwie z?hlt er nicht -.-""""
Die while-Schleife scheint das wohl als einen Durchgang zu z?hlen O.o
~> http://cat82.ca.funpic.de/Hp/index.php?content=rotation_top10
Beitrag ge?ndert am 12.10.2005 20:07 von blackangel- -
<?php $number = "1"; $result = mysql_query("SELECT irgendwas FROM tabelle "); while ($zeile = mysql_fetch_array($result)) { echo "Nummer $number <br>"; //Andere Ausgaben $number++; //F?r n?chsten Durchgang um 1 erh?hen. } ?>
Vermutlich hast du in der While-Schleife $number = 1; geschrieben, was jedes Mal die Variabe zur?cksetzt.
MfG lagerhaus
//EDIT: Sonst vielleicht mal den Code-Teil posten, wenn du ihn ver?ffentlichst...
Beitrag ge?ndert am 12.10.2005 20:18 von lagerhaus -
Ahhhhhhh *quietsch* ^0^ Jetzt funktioniert es ^^ Ich hatte es ?brigens wirklich in der while-Schleife *sch?m ^///^ Hab's nun an die von dir vorgeschlagene Stelle gesetzt und nun funktioniert es einwandfrei *h?pf*
Danke an alle, die mir geholfen haben ^_^ *Whitelist erg?nzen muss* -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage