moin, dafür müsste man erstmal den quelltext kennen, so ins blaue hinein coden wird nichts *hust*
mfg
Froasty
Beiträge von Sukkubus
-
-
Schleifen etc sind ja genau die Grundlagen, ohne die garnix geht
das muss man im Schlaf beherschen
und das wird doch im Tutorial super erklärt ?
also besser kann man es nun wirklich nichtmehr erklären finde ich
http://tut.php-q.net/kontrollstrukturen.html
http://tut.php-q.net/schleifen.html
http://tut.php-q.net/array.html
Mach es doch einfach so:
arbeite sämtliche Tutorials bei php-q.net stück für stück von oben nach unten durch, was du dort siehst setzt du gleich in eigenen kleinen scripts um, so behälst das Gelernte auch gleich besser
cookie alles is leicht, wenn man es verstanden hat *gg* -
Du hast das komplette quakenet tutorial durchgearbeitet und verstanden ?
dann sollten eigentlich keine deiner Fragen mehr offen sein
Also entweder nur überflogen, nicht verstanden oder garnicht reingeschaut, was davon zutrifft wirst du wohl am besten wissen
Möchte dich hier nicht angreifen, oder dir etwas unterstellen, aber das Tutorial ist 1. sehr umfangreich, deswegen schon merkwürdig, dass das von gestern auf heute mal eben durchgearbeitet haben willst
2. werden u.a. auch genau solche Fragen und Probleme, die bei dir auftreten, dort genauestens erklärt bzw erscheinen in Beispielen.Deine 2 geposteten Beispiele verstehe ich nicht ganz,die for.php soll zum eintragen der Daten sein ?
Wenn du die Daten an eine test.php übergibst und diese hier nicht angibst kann dir da auch keiner helfenIch gehe mal davon aus, dass du in der index.php erst die Daten aus der DB auslesen wolltest und dann durch das formular Daten in die Datenbank eintragen willst?
Dann fehlt aber immernoch der code zum Eintragen der Daten in die Datenbank und action wäre im Formular falsch gesetztn-> action ="index.php"
Ausserdem macht es keinen Sinn, dass du das Formular ausgelagert hast,
da dein inlude in keiner if Anweisung oder dergleichen steht, wo es sinn machen würde, da man dann das formular ggf. mehrfach included
mfg Froasty -
moin,
hmm also wenn du das php tutorial von quakenet durchgearbeitet hättest würden solche Fragen nicht aufkommen
Dafür wäre dann erstmal wichtig, dass du bei der Form method und action gesetzt hast und die Verbindung zur mysql Datenbank steht und eine DB ausgewählt wurde
dann z.B.Code
Alles anzeigen// Verbindung zur mysql DB mit Verbindungskennung $con //eintragen der Daten if(isset($_POST['submit'] && !empty$_POST['FELD1']) { //mysql query if(mysql_affected_rows($con) < 1) { echo "Konnte Daten nicht eintragen"; exit(); } }
sinnvoll wäre es auch vor dem Eintragen der Daten noch zu überprüfen, ob die richtigen Werte eingegeben wurden, diese im richtigen Format sind etc; dafür wären also dann z.B. sachen wie trim(), htmlspeacialchars(),str_replace() etc sinnvoll
ausserdem solltest du auch direkt im Formular überprüfen, dass die möglichen maximal eintragbaren zeichen sich mit dem Wert für dein Feld in der Datenbank decken
Aber da du das Tutorial bei quakenet wohl nihct durchgearbeitet hast, ansonsten wüsstest du das alles, kann ich dir nur anraten, das mal nachzuholen dann klären sich solche Fragen von ganz alleine
mfg Froasty -
moin,
das hängt auch immer davon ab, was du haben willst
wenn es nur ein paar animierte gifs werden sollen reicht dafür Photoshop + image ready aus
Wenn das nun schon etwas größeres werden soll könntest du dafür z.B. Adobe Premier verwenden
Alternativ kann man dafür z.B. auch 3d Studio Max verwenden, was bei mir sehr gute Ergebnisse erzielt
Oder du könntest das ganze auch in Flash machen
Die hier genannten Programme alle ganz billig und erfordern auch keinerlei Einarbeitungszeit (*ironie*)
Du suchst ja sicher kostenlose Programme dafür,
für Flash gab es mal ne kostengünstige Alternative Swish, aber ich weiss nicht, ob es das Programm noch gibt -
ich kann dir als Tutorial auchnoch
http://tut.php-q.net/
empfehlen
eines der besten tutorials fuer php wie ich finde -
moin,
huh ?
wär mir ja was ganz neues, dass der IE an zuvielen vars scheitern sollte
hattest vielleicht eher was falsch gesetzt bei den vars ?
na ja wenn so geht is ja ok -
hmm, kennst dich mit php net so aus ?
ansonsten wäre es doch kein Problem sowas selber zu tippen
- Formular zum Eintragen der Songtexte
- Validierung der Eingabedaten
- Eintragen der Daten in eine Datenbank
- Ausgabe der Daten aus der Datenbank
mehr wäre es doch garnicht
ich glaub da is man mit selber tippen auch schneller
überleg mal was alles noch in einem script fuern gb drinhängt an code, den man für die songtexte garnet braucht ?
bevor ich das alles rausgelöscht habe bin ich ja schon lange damit fertig selber ein script zu erstellen =P
mfg Froasty -
moin,
hatte oben schon erwähnt, dass ich keinen Plan von js habe
ahso würde dann nicht ein Header mit exit() den gleichen effekt haben ? -
moin, hatte bisher keine Zeit dazu
hmm, also für dein angesprochenes Problem kannst du doch folgendes machen:
setzte bei der Abfrage ein limit und offset...
damit erhälst du anzahl_emails/abfrage
die abfrage lässt über submit laufen, action auf gleiche seite
so würdest dann also z.B. von 400 emails jeweils 100 Abfragen, was bedeutet, dass du damit 4x submit drücken müsstest
dadurch würde man das Problem mit der max_execution time umgehen
hoffe is klar, was ich meine
mfg Froasty -
moin,
hmm also erstmal generell was:
wenn du das Gleiche schon in javascript realisiert hast wäre es vielleicht sinnvoll das mal kurz darzustellen, ich kann kein javascript, aber sicher einige andere hier im Forum, wodurch man schonmal weiss in welche Richtung das Problem gehtso nu back to topic (was es auch immer ist *hust*):
Dateiupload per HTTP war nur ein Beispiel, dafür gibt es auch Funktionen in PHP die die timeout period im stream beeinflussen
d.h. aber, dass dadurch NICHT die Ausführungszeit des Scriptes beeinflusst wird; ausserdem bezweifle ich doch stark, dass man mit diesen Funktionen die in den config Dateien festgelegten Maximalwerte überschreiten kann.Ich hatte dafür halt den Wert in der php.ini und der httpd.conf(apache) angepasst.Also wenn ich dich nun richtig verstanden habe geht es darum, dass du newsletter versenden willst per PHP script, und du dir Sorgen machst, dass bei sehr vielen usern = sehr vielen emails die max execution time gesprengt wird.
Gut, nun kennt man zumindest dein Problem
Mach ich mir jetzt aber keinen Kopf drum, da es schon reichlich späht ist und ich auch nichtmehr grad nüchtern bin.
Werd ich morgen mal überlegen und falls mir was zu einfällt das hier mitteilen, sofern mir dann nicht jemand anders zuvor gekommen ist :F
mfg Froasty -
moin,
also du meinst nen script was dir news ausgibt?
wenn du das meinst und die daten dafür in einer mysql db liegen kannst du doch die ausgabe in der abfrage mittels limit und offset regulierenwenn es dir um das Eintragen der News geht sehe ich da generell kein Problem,da das ja nur eine kleine abfrage mit INSERT wäre
Der einzige Fall indem ich bisher die Laufzeit von Scripten erweitern musste war beim Dateiupload über HTTP, da dort der standard wert nun nichtmehr unbedingt ausreicht
Aber deinen Bezug zwischen Newssystem und der Anzahl der user sehe ich nicht ganz:
Bei der Ausgabe kannst du wie oben genannt direkt im query begrenzen, beim Eintragen spielt doch die Laufzeit des Scriptes dafür garkeine Rolle ?
Ein script zum eintragen von news wird wohl kaum länger als die beim apache als stanard gesetzen 30 Sekunden dauern.
Aber ich glaube ich hab da immernoch net ganz verstanbden, worum es dir geht *hust*
mfg Froasty -
moin,
also so recht weiss ich auch net was du meinst *hust*
Die Funktion sleep meinst du sicher nicht, mit der kann man Ausführung des scripts um x Sekunden unterbrechen
Ansonsten gibt es laut php.net:
stream_set_timeout
socket_set_timeout
Die beiden Funktionen betreffen Dateioperationen -
moin,
mag sein, dass es so vielleicht nicht 100% sauber ist, aber zu Problemen wird es dadurch wohl nicht kommen, da ich den FK PROD_ID ja bei Update, Insert etc mit einbeziehe
Kannst es Faulheit nennen den FK PROD_ID dort zu haben, ansonsten müsste ich dafür nochmal über die MA_ID der Tabelle tbl_mitarbeiter gehn und dann nochmal über FK PROD_ID der Tabelle tbl_rezensionen...
ansonsten hab ich im mom keine Probleme mit joins, fuktioniert alles soweit -
moin,
spielt es nun bei den Relationen für die joins eine Rolle wie diese angelegt sind ?
Du hast ja A:B A:C A:D
Damit hast du ja die Tabellen mit ihren Alias B C D alle an A gebunden
Wenn das nur so geht, dass alle auf eine bestimmte Tabelle bezogen werden müssen würde ich ja scheitern, wenn ich die Mitarbeiter Tabelle mit
Where E.MA_ID = C:MA_ID
anbinden will, oder ?
das wäre dann ja das gleiche, was ich auch schon oben hatte
Das heisst ich müsste dann noch die MA_ID in die tbl_rezensionen_produkte übernehmen, damit es funktioniert ?
danke schonmal soweit für deine Hilfe, konnte die Abfrage nochnicht testen, werd ich aber mal nachher machen -
moin
najut, dann werd ich das ERM hier noch reinstellen
Ich will die Daten in einer Tabelle ausgeben lassen
also z.B:
while($row=mysql_fetch_assoc($result_query) {
echo"<td>{$row[column]}</td>\n";
usw.
}
dafür muss ich das ja vorher in einer abfrage zusammengefasst haben
So ich mache gleich ma screenshot vom ERM und editiere den dann rein, bzw poste es drunter, je nachdem was das Forum mitmachthier dann das ERM:
[Blockierte Grafik: http://img42.imageshack.us/img42/8462/erm6tv.jpg] -
moin,
also das hat sich nun grade geändert,es sindnun 5 Tabellen zum joinen ~~
2 Tabellen konnte ich nu joinen über eine ID, die in einer Tabelle als PK vorliegt, in der andern als FK.Code
Alles anzeigen$query = "SELECT A.BAND_ID, A.PROD_BEZEICHNUNG, B.BAND_ID, B.BAND_NAME FROM tbl_rezensionen_produkte AS A, tbl_rezensionen_bands AS B WHERE A.BAND_ID = B.BAND_ID ";
das funktioniert so auch für 2 andere Tabellen, die beide wieder einen Schlüssel als Bezug haben.
Sobald ich allerdings versuche 4 Tabellen in einem Select zu joinen werden mir wieder Daten doppelt ausgegeben:Code
Alles anzeigen$query="SELECT A.BAND_ID, A.PROD_BEZEICHNUNG, B.BAND_ID, B.BAND_NAME, C.PROD_ID, C.REZ_DATUM, D.PROD_ID, D.BEW_URTEIL FROM tbl_rezensionen_produkte AS A, tbl_rezensionen_bands AS B, tbl_rezensionen AS C, tbl_rezensionen_bewertung AS D WHERE A.BAND_ID = B.BAND_ID AND C.PROD_ID = D.PROD_ID";
Kann ich daraus nun schliessen, dass damit es funktioniert JEDE Tabelle einen Bezug zu JEDER anderen haben muss ?
Die Tabellen haben Relationen, allerdings nicht jede Tabelle zu jeder -
moin
das Problem daran wäre aber, dass die IDs in beiden Tabellen ja nicht identisch sind
d.h. es würden so dann Datensätze verloren gehen
In der Tabelle tbl_rezensionen_bands hab ich ja ganz andere IDs als in der Tabelle tbl_rezensionen_produkte, da muss es doch noch eine andere Möglichkeit geben das zu lösen ? -
moin,
hoffe mir kann hier jemand weiterhelfen, auch wenn bei diesem sub forum nicht explizit mysql aufgeführt ist
das Problem ist folgendes:
ich habe in der mysql Datenbank Daten, die ich aus 3 Tabellen auslesen muss, und dann in PHP in einer Tabelle anzeigen lassen will.
Leider bekomm ich durch einen join nicht das gewünschte Ergebnis.
Ich hatte Testweise mal einen join mit nur zwei tabellen probiert, was genaus wenig funktionierte:Code
Alles anzeigen$query = "SELECT band.BAND_NAME, prod.PROD_BEZEICHNUNG FROM tbl_rezensionen_bands AS band, tbl_rezensionen_produkte AS prod "; $erg = mysqli_query($con,$query); while($row = mysqli_fetch_assoc($erg)) { echo $row['BAND_NAME']; echo " "; }
ich hatte halt Testweise mal nur 2 Tabellen im join reingenommen,das Problem ist, dass bei der Ausgabe das ganze 8x ausgegeben wird
das sieht dann so aus:Code
Alles anzeigenBandname ghjfvghj 4576467 dfghfg fghdcfg dfgsd dfgsd Bandname ghjfvghj 4576467 dfghfg fghdcfg dfgsd dfgsd Bandname ghjfvghj 4576467 dfghfg fghdcfg dfgsd dfgsd Bandname ghjfvghj 4576467 dfghfg fghdcfg dfgsd dfgsd Bandname ghjfvghj 4576467 dfghfg fghdcfg dfgsd dfgsd Bandname ghjfvghj 4576467 dfghfg fghdcfg dfgsd dfgsd Bandname ghjfvghj 4576467 dfghfg fghdcfg dfgsd dfgsd Bandname ghjfvghj 4576467 dfghfg fghdcfg dfgsd dfgsd
obwohl eigentlich nur
ausgegeben werden sollte
Da ich nicht so recht wusste wo da das Problem liegt hatte ich versucht den join zu umgehen, und das ganze in eine temp table einzutragen, die ich dann ja auslesen könnte. Ich hatte dafrü dann zum Testen mal einen Datensatz genommen:Code$i=0; while($i < count($array_sum)) { $result2 = "INSERT INTO temp_ausgabe(BAND_NAME) VALUES('$dump')"; $dump = $array_sum[$i]; mysqli_query($con,$result2); $i++; }
$array_sum beinhaltet hierbei die werte aus BAND_NAME
wenn ich den array über echo und ne for schleife ausgeben lasse ist das alles auch ok, sobald ich ihn allerdings wie im codeschnipsel oben in die DB eintrage erhalte ich jedesmal einen leeren Datensatz vor den andern Datensätzen
also ich bin da so langsam ratlos...
wär Klasse, wenn jemand das Problem sieht, manchmal sieht man ja den Wald vor Bäumen nichtmehr.
mfg ein ratloser Sukkubus