|
You last visited: Today at 09:49
Advertisement
PHP Datenbankeintrag nach Submit um 1 erhöhen
Discussion on PHP Datenbankeintrag nach Submit um 1 erhöhen within the Web Development forum part of the Coders Den category.
11/22/2012, 12:46
|
#16
|
elite*gold: 727
Join Date: Feb 2012
Posts: 1,206
Received Thanks: 303
|
Quote:
Originally Posted by Cr4nkSt4r
Für ORDER BY und LIMIT 5 etc. brauchst man dennoch nicht zwangsweise eine neue Tabelle, er kann einfach die behalten die er hat.
Ich denke nicht dass dort irgendwann so viele User angemeldet sein werden oder das Script "nutzen" dass es dann dank Performance nicht mehr zügig weiter geht. Da braucht er schon ne Menge User bis es an fängt langsam zu werden.
Außerdem wären nach deinem Vorhaben auch wieder zwei Abfragen notwendig bzw. eine JOIN Abfrage um an alle Daten zu kommen wenn man sie denn möchte.
Nimmt sich bei so wenig Spalten eig. nichts, egal wie man es macht.
Ich für meinen Teil würde lieber sehen wie es nun um den Fehler steht und ob der TS schon weiter gekommen ist ohne die COUNT Methode zu nutzen.
~ regards
|
Also, ich hab die Methode mit der neuen Tabelle jetzt genommen.
Die Eintragung in die Tabelle funktioniert und die Ausgabe.
Jetzt muss ich aber dennoch Steini00 recht geben, dass das dann alles ziemlich mit der Leistung runtergehen wird. Es wir aber auch kein großes Projekt.
Trotzdem wäre mir die Methode, Pro User eine Spalte, und dort hochzählen lieber. Warum? Weil genau was Steini00 angesprochen hat, ich noch eine Top 5 machen will. Daher überlege ich mir das nochmal, teste und schreib dann falls mir irgendwelche Fehler unterlaufen.
Danke trotzdem nochmal an alle. Und macht euch nicht fertig, weil einer einen anderen Lösungsansatz hat, als der andere.
|
|
|
11/22/2012, 12:46
|
#17
|
elite*gold: 0
Join Date: Jun 2011
Posts: 30
Received Thanks: 3
|
Ich würde hier gerne zwei deiner Punkte aufgreifen.
1. Ich habe dem TS genau das geschrieben, was du gesagt hast.
Quote:
|
Wenn du mit SELECT Spaltenname an Stelle von SELECT * arbeitest, stört es eigentlich nicht, wenn du es sogar in der selben Tabelle hast. Du kannst es aber auch gerne in einer extra Tabelle machen.
|
Für was er sich entscheidet, liegt an ihm und seinem Daten-/Tabellenumfang
2. Wenn er selber sagt, dass er gerade php/mysql lernt, warum dann nicht gleich richtig? Nur weil es nicht gleich 1.000 User sind, muss man es ja nicht umständlich/falsch machen. Nach der Lösung "Datensatz pro Bild" kannst du immer noch keine* Top oder ORDER BY machen.
*möglich ist es, aber nur sehr umständlich.
|
|
|
11/22/2012, 13:05
|
#18
|
elite*gold: 0
Join Date: May 2008
Posts: 1,222
Received Thanks: 500
|
Es kommt darauf an wofür man es braucht.
Sollte man die Bilder einzeln anzeigen können, oder sollte ein Titel / eine Beschreibung, zusätzliche Infos, oder ein Hit-Counter dabei sein dann sollte man die Methode mit der extra Tabelle verwenden.
Wird jedoch wirklich nur die Anzahl der hochgeladenen Bilder gebraucht, und sonst nichts, ja dann reicht ne zusätzliche Spalte in der User-Tabelle. Aber dann stellt sich mir die Frage, wofür sollte man das dann brauchen?
|
|
|
11/22/2012, 13:08
|
#19
|
elite*gold: 727
Join Date: Feb 2012
Posts: 1,206
Received Thanks: 303
|
Quote:
Originally Posted by Cr4nkSt4r
Wieso wohl möglich?
Du musst schon genau wissen und sagen was dort steht. Wie soll man dir sonst helfen?
Gibt viele Varianten die man testen kann, alles schön einklammern damit auch nie SQL bei einem Wert denken könne es gehöre zu SQL o.Ä., den vorherigen Wert auslesen und abändern, dann abspeichern, vernünftige Fehler ausgeben lassen und nicht zensieren -.-, und und und...
PHP Code:
mysql_query("UPDATE `user` SET `bilder` = bilder + 1 WHERE `username` = '".$session."'");
PHP Code:
$bilder = mysql_query("SELECT `bilder` FROM `user` WHERE `username` = '".$session."'");
$bilder = $bilder + 1;
mysql_query("UPDATE `user` SET `bilder` = ".$bilder." WHERE `username` = '".$session."'");
~ regards
|
Danke dir nochmal, mit dem 1. Script klappt das perfekt. Mit dem 2. gehen die Werte in der Datenbank auf 9 und dann tut sich nichts mehr.
Naja ich werde wohl noch etwas brauchen bis ich PHP mal richtig anwenden kann <.<
|
|
|
11/22/2012, 13:10
|
#20
|
elite*gold: 0
Join Date: Jun 2011
Posts: 30
Received Thanks: 3
|
Quote:
Originally Posted by DasPrinzip.
Danke dir nochmal, mit dem 1. Script klappt das perfekt. Mit dem 2. gehen die Werte in der Datenbank auf 9 und dann tut sich nichts mehr.
Naja ich werde wohl noch etwas brauchen bis ich PHP mal richtig anwenden kann <.<
|
Welchen Wert hast du denn der Spalte gegeben? int(1)
|
|
|
11/22/2012, 13:12
|
#21
|
elite*gold: 1
Join Date: Oct 2011
Posts: 660
Received Thanks: 147
|
Quote:
|
Ich arbeite täglich mehr als 12 Stunden am PC und mir ist klar, dass man da mal Fehler machen kann. Aber sowas ist einfach kein "hab mich verschrieben"-Fehler sondern ein ganz klarer "mir fehlt die Erfahrung"-Fehler.
|
Lustig, habe bis dato immer gedacht das es mehrer möglichkeiten gibt und es nicht nur eine gibt die man benutzen kann.
|
|
|
11/22/2012, 13:17
|
#22
|
elite*gold: 727
Join Date: Feb 2012
Posts: 1,206
Received Thanks: 303
|
Quote:
Originally Posted by Steini00
Welchen Wert hast du denn der Spalte gegeben? int(1)
|
int(20)
|
|
|
11/22/2012, 13:18
|
#23
|
elite*gold: 0
Join Date: Jun 2011
Posts: 30
Received Thanks: 3
|
Quote:
Originally Posted by Zettabytes*
Lustig, habe bis dato immer gedacht das es mehrer möglichkeiten gibt und es nicht nur eine gibt die man benutzen kann.
|
Ja, Möglichkeiten gibt es viele. Aber falsche Syntax ist falsche Syntax. Und hat nichts mit einer Möglichkeit zu tun
Quote:
Originally Posted by DasPrinzip.
int(20)
|
Also dann sollte es eigentlich gehen. Zeig doch einfach nochmal deinen Code.
Ich habe es eben selber noch mal getestet mit int(2) und komme ohne Probleme über 10
|
|
|
11/22/2012, 13:54
|
#24
|
elite*gold: 74
Join Date: Oct 2008
Posts: 619
Received Thanks: 288
|
Mach doch bitte mal folgendes:
PHP Code:
$bilder = mysql_query("SELECT `bilder` FROM `user` WHERE `username` = '".$session."'");
echo "#1: ".var_dump($bilder)."<br />#2: ";
$bilder = $bilder + 1;
echo var_dump($bilder)."<br />";
Aber wenn der erste Ansatz klappt, ist der 2. eig. auch egal, außer du willst mit dem Wert noch weiter herum spielen.
Und bez. der Top 5, kannst du auch mit der "nur eine Tabellen" Methode machen.
PHP Code:
$bilder = mysql_query("SELECT `bilder` FROM `user` ORDER BY `bilder` DESC LIMIT 0,5");
|
|
|
Similar Threads
|
[Frage] Baulimit nach oben erhöhen ?
01/21/2013 - Minecraft - 12 Replies
Hallo,
Ich habe mir gestern einen Server bei Nitrado gekauft und wollte mal fragen wie man dort die max. Bauhöhe (nach oben) verändern kann.
Das jetzt unendlich nach oben bauen kann ohne irgendeine Grenze.
Hoffe mir kann da jemand weiterhelfen,
lg Bones
|
Datenbankeintrag
08/17/2011 - Flyff Private Server - 8 Replies
Hallo Ihr!!
Ich habe ein Problemchen ...
und zwar ich versuche eine neue waffenreihe zu machen, alle datein
soweit bearbeitet doch ich weiß nich wie ich die jetzt in die Datenbank
eintrage und anschließend "batche".
Wenn mir einer helfen könnte wäre super danke :D
Freundliche Grüße
|
Ram nach den Einstellungen erhöhen
11/14/2010 - Metin2 Private Server - 1 Replies
Hallo zusammen,
ich will meinen Server bearbeiten aber wenig ram geben, damit ich noch sachen am PC machen kann.
Kann ich nachdem ich den Server bearbeitet den RAM wieder Vergrößern ?
MfG
|
All times are GMT +1. The time now is 09:50.
|
|