 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
02.01.2006, 13:04
|
#1
|
|
TP-Junior
Registriert seit: Jan 2006
Ort: Bayern
|
[PHP-MySQL]Hilfe, habe ein großes Problem!!
Hallo,
erst einmal ein schönes, neues, erfolgreiches Jahr.
Also, mein Problem ist etwas schwer zu erklären, deswegen fange ich mit meiner MySQL-Tabelle mt_extrapunkte an, die so aussieht:
Sorry, ihr müsst diesen Code als HTML abspeichern, damit ihr die Tabelle sehen könnt!!(Ging nicht anders)
Code:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Neue Seite 2</title>
</head>
<body>
<table border="1" width="1511" height="147">
<tr>
<td width="112" align="center" height="38"><b>id</b></td>
<td width="29" align="center" height="38"><b>user</b></td>
<td width="36" align="center" height="38"><a title="Sortierung"><b>email</b></a></td>
<td width="145" align="center" height="38"><a title="Sortierung"><b>name</b></a></td>
<td width="314" align="center" height="38"><a title="Sortierung"><b>bannerurl</b></a></td>
<td width="353" align="center" height="38"><a title="Sortierung"><b>url</b></a></td>
<td width="46" align="center" height="38"><a title="Sortierung"><b>punkte</b></a></td>
<td width="112" align="center" height="38"><a title="Sortierung"><b>verbraucht</b></a></td>
<td width="232" align="center" height="38"><a title="Sortierung"><b>gebucht</b></a></td>
<td width="34" align="center" height="38"><b>aktiv</b></td>
</tr>
<tr>
<td width="112" align="center" height="38">0101561386471</td>
<td width="29" align="center" height="38">0</td>
<td width="36" align="center" height="38"> </td>
<td width="145" align="center" height="38">Extraordinary-Mails.US</td>
<td width="314" align="center" height="38">http://www.extraordinary-mails.us/images/Banner.gif</td>
<td width="353" align="center" height="38">http://extraordinary-mails.us/pages/index.php?refid=bommi</td>
<td width="46" align="center" height="38">150</td>
<td width="112" align="center" height="38">3</td>
<td width="232" align="center" height="38">10000000000000</td>
<td width="34" align="center" height="38">1</td>
</tr>
<tr>
<td width="112" align="center" height="38">31121731936988</td>
<td width="29" align="center" height="38">0</td>
<td width="36" align="center" height="38"> </td>
<td width="145" align="center" height="38">Etacore.WS</td>
<td width="314" align="center" height="38">http://www.ws-net24.com/banner/banner01.gif</td>
<td width="353" align="center" height="38">http://www.ws-net24.com/perfekt/etacore</td>
<td width="46" align="center" height="38">150</td>
<td width="112" align="center" height="38">14</td>
<td width="232" align="center" height="38">100</td>
<td width="34" align="center" height="38">1</td>
</tr>
<tr>
<td width="112" align="center" height="38">01011190531740</td>
<td width="29" align="center" height="38">0</td>
<td width="36" align="center" height="38"> </td>
<td width="145" align="center" height="38">BlackyGold.COM</td>
<td width="314" align="center" height="38">http://www.blackygold.com/images/banner1.gif</td>
<td width="353" align="center" height="38">http://www.blackygold.com/pages/index.php?refid=bommi</td>
<td width="46" align="center" height="38">150</td>
<td width="112" align="center" height="38">3</td>
<td width="232" align="center" height="38">10000000000000</td>
<td width="34" align="center" height="38">1</td>
</tr>
<tr>
<td width="112" align="center" height="16">02011293365335</td>
<td width="29" align="center" height="16">0</td>
<td width="36" align="center" height="16"> </td>
<td width="145" align="center" height="16">Tu-Doch-Was.DE</td>
<td width="314" align="center" height="16">http://etacore.com/mail/banner/1.bmp</td>
<td width="353" align="center" height="16">http://www.tu-doch-was.de/?id=D-88632</td>
<td width="46" align="center" height="16">150</td>
<td width="112" align="center" height="16">1</td>
<td width="232" align="center" height="16">10000000000000</td>
<td width="34" align="center" height="16">1</td>
</tr>
<tr>
<td width="112" align="center" height="1">02011467410827</td>
<td width="29" align="center" height="1">0</td>
<td width="36" align="center" height="1"> </td>
<td width="145" align="center" height="1">Money4Mail.DE.TT</td>
<td width="314" align="center" height="1">http://people.freenet.de/sr77/Banner468.gif</td>
<td width="353" align="center" height="1">http://money4mail.de.tt/</td>
<td width="46" align="center" height="1">150</td>
<td width="112" align="center" height="1">0</td>
<td width="232" align="center" height="16">10000000000000</td>
<td width="34" align="center" height="16">1</td>
</tr>
</table>
</body>
</html>
und ich habe hier das PHP-Script, welches die Tabelle mt_extrapunkte verwendet bzw. ausließt:
PHP-Code:
<?php
include("../header.php");
require ('sesspruf.php');
sesspruf($sessionid);
require('../config/config.php');
$db = mysql_connect($dbhost, $dbuser, $dbpass) or
die(mysql_error());
mysql_select_db($dbname,$db) or die(mysql_error());
$daten=mysql_query("select * from mt_settings");
$settings=mysql_fetch_array($daten);
$daten2=mysql_query("select * from mt_user where
session='$sessionid'");
$stat=mysql_fetch_array($daten2);
?>
<?
$atime=time();
$fdaten=mysql_query("select extrareload from
mt_settings");
$row = mysql_fetch_row($fdaten);
$reload=$atime-($row[0]*60);
mysql_query("delete from mt_extrapunktereload where
time<'$reload'");
$daten=mysql_query("select user from mt_user where
session='$sessionid'");
$user=mysql_result($daten,0,"user");
$mt_extrapunktereload =
mysql_query("SELECT * FROM mt_extrapunktereload
WHERE user='$user'");
$mt_extrapunkte = mysql_query("SELECT
bannerurl,name,punkte,id FROM mt_extrapunkte
");
if(mysql_num_rows($mt_extrapunkte) == 0){
echo"<center><b><font size=\"2\"
face=\"Verdana\">Keine Sponsoren
vorhanden</b></font></center>";
}elseif(mysql_num_rows($mt_extrapunktereload) != 0){
echo"<center><b><font size=\"2\"
face=\"Verdana\">Reloadsperre
aktiv</b></center></font>";
}else{
$rows =
mysql_num_rows($mt_extrapunkte);$rows--;$rows =
rand(0,$rows);
mysql_data_seek($mt_extrapunkte,$rows);
$row2 = mysql_fetch_row($mt_extrapunkte);
echo"<center><font size=\"2\" face=\"Verdana\"><a
href=\"extrapunkteklick.php?id=$row2[3]&user=$user&se
ssionid=$sessionid\" target=\"_blank\"><img
src=\"$row2[0]\" border=\"0\" alt=\"$row2[1]\"></a>
<br>Sie bekommen <b>$row2[2]</b> Punkte
gutgeschrieben, wenn Sie den Sponsor
Besuchen.<br>Es ist eine Reloadsperre von
<b>$row[0]</b> Minuten eingestellt.</center>";
}
include("../footer.php"); ?>
Der Bereich
$mt_extrapunkte = mysql_query("SELECT
bannerurl,name,punkte,id FROM mt_extrapunkte");
ist die Daten, die von der Tabelle ausgelesen werden sollen.
Bei der Tabelle handelt es sich um Banner, für die man Punkte bekommt, wenn man sie anklickt. Danach hat der Banner eine Reloadzeit von 30 Minuten.
Es wird immer nur ein Banner aus der Tabelle angezeigt.
Ich will aber, dass alle Banner in dem PHP-Script angezeigt werden sollen, aber ich kriege das nicht hin!!!
Bitte hilft mir, ist sehr dringend.
Einen schönen Tag noch! 
|
|
|
02.01.2006, 19:00
|
#2
|
|
TP-Veteran
Registriert seit: Mar 2005
Ort: Oyten
|
Ich bin mir ziemlich sicher, dass das Script gar nicht von Dir stammt und Du offensichtlich gar keine Ahnung zu haben scheinst, wie das Script vorgeht.
Das merkt man unter anderem auch daran, dass Du eine Tabelle postest, die mit dem Problem gar nichts zu tun hat.
Auch der völlig nichtssagende Titel Deines Postings lässt vermuten, dass Du einer von denen bist, die bei ihrer Scriptzusammenkleberei wieder mal an ihre Grenzen gestoßen sind.
Deshalb helfe ich Dir auch nicht im Detail, sondern zeige nur auf die Stelle, die für eine Problemlösung entscheidend ist:
Code:
$rows = mysql_num_rows($mt_extrapunkte);
$rows--;
$rows =rand(0,$rows);
mysql_data_seek($mt_extrapunkte,$rows);
$row2 = mysql_fetch_row($mt_extrapunkte);
Wenn Dir klar ist was hier passiert, dann solltest Du klar kommen. 
|
|
|
02.01.2006, 22:11
|
#3
|
|
TP-Junior
Registriert seit: Jan 2006
Ort: Bayern
|
Ja toll, bist jetzt zu frieden?
Hast vollkommen Recht! Das Script gehört nicht mir und ich kann auch kein PHP programmieren, aber ich kann Hilfe suchen oder?
Ich hab mich an dieses Board gewendet, weil ich glaube, dass ich hier Hilfe finde, aber davon verstehe ich wohl auch nichts?
Aber, da ich ein NETTER und HILFSBEREITER Mensch bin, bedanke ich mich für dein Posting.
|
|
|
02.01.2006, 22:22
|
#4
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
nun reg Dich doch nicht auf
Der Schlüssel zur Hilfe führt aber immer über Verständnis, darum geht es hier in erster Linie. Wenn es nur darum geht, ein Dir unbekanntes Script so unzuschreiben, das es perfekt funktioniert, dann musst Du das auch so ehrlich schreiben. Ansonsten wird Dir die Hilfestellung nicht wirklich helfen.
|
|
|
02.01.2006, 22:29
|
#5
|
|
TP-Veteran
Registriert seit: Mar 2005
Ort: Oyten
|
Ich persönlich helfe Menschen gerne, die sich in eine Sache einarbeiten und konkrete technische Fragen haben.
Usern, die sich ihre Seite mit Hilfe von Scripten und damit der Arbeit anderer zusammenbasteln und einfach nur ihre Seite ans Laufen bekommen wollen, mag ich nicht gerne helfen, da nicht zu erwarten ist, dass diese User anderen im Forum weiterhelfen, da sie es schlichtweg gar nicht können.
Und genau davon lebt ein Forum - nämlich dem regen Gedankenaustausch.
Ich weiß genau das Du genau so schnell wieder weg bist wie Du gekommen bist sobald andere Dein Problem gelöst haben, es sei denn es tritt noch ein Problem auf. Glaub mir, ich habe das schon oft genug erlebt und es macht dann einfach keinen Spaß, sich in die Probleme anderer einzudenken wenn nichts zurückkommt.
Nichtsdestotrotz habe ich Dir einen konkreten technischen Anhaltspunkt gegeben wo die Lösung zu suchen ist. Nimm diesen Brotkrumen und arbeite Dich ein wenig in PHP ein oder lass es sein. Das liegt ganz bei Dir.
Wenn Du Dich nicht einarbeitest, dann wirst Du mit meinem Posting auch nichts anfangen können oder falls doch, helfe ich Dir gerne bei Fragen die bei der Beschäftigung mit dem Problem auftauchen.
Wenn Du einfach nur willst "dass es funktioniert", dann poste Dein Problem im Job-Forum und bezahle für das hart erarbeitete KnowHow anderer.
Allerdings spiegelt das meine eigene Einstellung wieder und muss nicht zwangsläufig mit den anderen Mitgliedern dieses Forums einhergehen. Es ist also etwas unfair wenn Du meine Reaktion nun als Reaktion des gesamten TP-Forums deutest.
Ich bin auch nur Nutzer und User dieses Forums - genau wie Du. 
Geändert von DSB (02.01.2006 um 22:33 Uhr).
|
|
|
02.01.2006, 22:38
|
#6
|
|
TP-Junior
Registriert seit: Jan 2006
Ort: Bayern
|
So ist es gar nicht!!! Ich habe dieses Script nicht selbst irgendwie aus mehreren zusammen geklebt, ich habe es gekauft, weil ich weis wieviel Arbeit in so etwas steckt. Viele Sachen konnte ich ja schon anpassen, aber bei diesem Problem komme ich einfach nicht weiter. Ich sitze schon wirklich den ganzen Tag an diesem Problem. Ich hab auch auf einpaar Seiten nach den Grundlagen und Befehlen von MySQL und PHP geschaut aber ich kann mir kein Reim daraus machen.
Und noch was, wie schon gesagt, wenn jemand Hilfe brauch, dann helfe ich auch der Person. Wenn ich selber davon Ahnung hab, dann mache ich das, aber falls ich nichts davon verstehen sollt, dann suche ich auch für diese Person Hilfe, sei es von mir oder von Anderen.
|
|
|
02.01.2006, 22:44
|
#7
|
|
TP-Veteran
Registriert seit: Mar 2005
Ort: Oyten
|
Ok, dann richte Dein Hauptaugenmerk mal auf genau diese Zeile:
Code:
$rows =rand(0,$rows);
Was wird hier gemacht?
Das ist der Schlüssel.
Wenn es ein gekauftes Script ist, dann würde ich den Coder direkt mal ordentlich in den Hintern treten. Es ist programmtechnisch ungünstig erst alle Einträge von der Datenbank abzuholen und dann einen einzigen Eintrag davon auszuwählen.
So ist es nur eine Frage der Zeit bis die Sume aller Einträge den Speicher von PHP sprengt. Das ist nicht in die Zukunft gedacht.
Geändert von DSB (02.01.2006 um 22:53 Uhr).
|
|
|
02.01.2006, 22:54
|
#8
|
|
TP-Junior
Registriert seit: Jan 2006
Ort: Bayern
|
Danke!
Was meinst du, wann das Script zusammenbricht?
Könntest du mir vielleicht auch etwas genauer sagen, wo ich das einbauen soll?
|
|
|
02.01.2006, 22:59
|
#9
|
|
TP-Veteran
Registriert seit: Mar 2005
Ort: Oyten
|
Zitat:
|
Zitat von DaCuky
Was meinst du, wann das Script zusammenbricht?
|
Das kann ich Dir nicht genau sagen.
Das hängt vom Aufbau der Datenbank, der Anzahl der Einträge und von den Servereinstellungen ab, die sehr unterschiedlich sein können.
Zitat:
|
Könntest du mir vielleicht auch etwas genauer sagen, wo ich das einbauen soll?
|
Wie einbauen?
Ich habe nichts von einbauen gesagt. 
|
|
|
02.01.2006, 23:03
|
#10
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
Um Dir auf die Sprünge zu helfen:
eine Zufallsausgabe von Datensätzen erreicht man nicht durch solch ominöse rand()-Ausdrücke sondern man erledigt das in der SQL-Anweisung mit dem Zusatz
ORDER BY RAND()
das reicht 
|
|
|
02.01.2006, 23:07
|
#11
|
|
TP-Veteran
Registriert seit: Mar 2005
Ort: Oyten
|
@Steffen
lol - glaubst Du jetzt echt, dass ihn die Information weiterbringt?
Er hat doch gesagt, dass er das Script nicht selbst gemacht hat und wenig bis gar keine Erfahrung mit PHP und MySQL hat.
Technisch gesprochen hast Du natürlich recht, aber ich glaube das hilft in dem Fall nicht weiter.
|
|
|
02.01.2006, 23:11
|
#12
|
|
TP-Junior
Registriert seit: Jan 2006
Ort: Bayern
|
Tut mir leid, aber ich hab irgendwie dein Lösungsvorschlag noch immer nicht verstanden!!! War ein langer Tag heute, bin vor kurzem erst von einer Geschäftssitzung gekommen. Könntest du mir das eventuell Schritt-für-Schritt erklären?(nur wenn es dir nichts ausmacht)
Das Script stammt aus einem Mailtausch. Damit werden Extrabanner vergütet. Kann es nicht sein, dass nur dieser Teil so blödsinnig aufgebaut ist als der Rest?
|
|
|
02.01.2006, 23:17
|
#13
|
|
TP-Veteran
Registriert seit: Mar 2005
Ort: Oyten
|
Zitat:
|
Zitat von DaCuky
Könntest du mir das eventuell Schritt-für-Schritt erklären?
|
Gegen Bezahlung gern.
Jetzt zielst Du wieder auf die Schiene - machts mir.
Ich wollte erreichen, dass Du Dich damit auseinandersetzt aber Du schiebst es schon wieder auf andere ab.
Nochmal: lerne es selbst oder zahle für das KnowHow!
Basta.
|
|
|
02.01.2006, 23:17
|
#14
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
sorry DaCuky, aber das ganze MySQL-Handling ist völlig unkonventionell und zeugt nicht von grosser Programmierkunst - im Gegenteil, hier werden Datentypen einfach durcheinandergewürfelt, mich wundert, das überhaupt was angezeigt wird 
|
|
|
02.01.2006, 23:19
|
#15
|
|
TP-Junior
Registriert seit: Jan 2006
Ort: Bayern
|
ok danke nochmals
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
| | |