Hallo!
Ich bin gerade echt am verzweifeln..
Ich schreibe ein Programm in Visual Basic was außerdem mit PHP und MySQL arbeitet.
Nun meine Frage..
Wie bekomme ich es hin das wenn ich auf einen Button klicke dann ein random wert aus der MySQL Datenbank angezeigt wird und dieser am besten danach gelöscht wird?
Ich habe keinen plan wie ich das ganze in PHP hinbekommen soll :/
Ankündigung
Einklappen
Keine Ankündigung bisher.
Random Wert aus MySQL Datenbank abrufen.
Einklappen
Neue Werbung 2019
Einklappen
X
-
Random Wert aus MySQL Datenbank abrufen.
Stichworte: -
-
vermutlich nur unglücklich formuliert. Vielleicht eine Tabelle mit Aufgaben, aus der je Abruf eine zufällig ausgewählt und gelöscht wird, weil diese dem $AUFRUFER dann zugeordnet ist.
-
Wenn ich einen Datensatz generiere, der mir dann angezeigt wird und danach gelöscht wird, ääääh - wozu brauchst du dann den DS in der Tabelle?Zitat von codingcore Beitrag anzeigenEs soll wie ein Private Prinzip sein also z.B. Jemand generiert einen zufälligen Datensatz dieser wird dann aus der Datenbank entfernt so das nur der jenige der ihn generiert hat auch für sich selber hat
Verstehe es immer noch nicht.
Einen Kommentar schreiben:
-
Hehe
Ja, in PG sind CTE (Common Table Expressions) auch schreibfähig. Kann sehr praktisch sein, auch z.B. um Datensätze von einer in eine andere Tabelle atomar zu verschieben.
Frohes Fest und so !
Einen Kommentar schreiben:
-
Haha, schöne Bescherung! Löschen und Selektieren gleichzeitig! Cool!
Ein vergiftetes Geschenk, das war sicher Knecht Ruprecht! Ach sorry, der hat ja gar nichts mit Weihnachten zu tun.
Ob sichcodingcore über dieses Geschenk freuen wird?
Egal, ich hab das Problem noch nicht verstanden und halte mich mit Geschenken zurück.
Trotzdem wünsche ich auch allen ein frohes und entspanntes Fest!
(Zentrale Fragen zum Prozedere wie bspw. Blaufichte oder Nordmanntanne sollten ja wenigstens zuhause bereits geklärt sein)
Einen Kommentar schreiben:
-
Nu helft ihm doch mal, Leute! Ist schließlich Weihnachten.
Wir bauen uns mal seine Tabelle und 20 Testdaten:
Nun jeweils einen per Zufall selecten und gleichzeitig löschen:Code:test=# create table codingcore(vorname text, nachname text); CREATE TABLE test=*# insert into codingcore select 'Vorname'||((random()*1000)::int)::text, 'Nachname'||((random()*1000)::int)::text from generate_series(1,20) s; INSERT 0 20
Wie man sieht, nach 4 mal löschen sind es nur noch 16 Datensätze. Funktioniert also, und ist auch gar nicht schwer.Code:test=*# with s as (select * from codingcore order by random() limit 1), d as (delete from codingcore where (vorname, nachname) in (select * from s)) select * from s; vorname | nachname ------------+------------- Vorname256 | Nachname666 (1 Zeile) test=*# with s as (select * from codingcore order by random() limit 1), d as (delete from codingcore where (vorname, nachname) in (select * from s)) select * from s; vorname | nachname ------------+------------- Vorname510 | Nachname350 (1 Zeile) test=*# with s as (select * from codingcore order by random() limit 1), d as (delete from codingcore where (vorname, nachname) in (select * from s)) select * from s; vorname | nachname ------------+------------- Vorname576 | Nachname741 (1 Zeile) test=*# with s as (select * from codingcore order by random() limit 1), d as (delete from codingcore where (vorname, nachname) in (select * from s)) select * from s; vorname | nachname -----------+------------- Vorname88 | Nachname846 (1 Zeile) test=*# select count(1) from codingcore ; count ------- 16 (1 Zeile) test=*#
Frohes Fest noch!
Einen Kommentar schreiben:
-
So ist es, hinzu kommt, dass hier Begrifflichkeiten nicht stimmen.Zitat von hellbringer Beitrag anzeigenFiktive Beispiele helfen halt selten bei der Lösung eines konkreten Problems.
Willst Du einen Wert löschen oder einen Datensatz?
Redest Du von Tabelle oder Spalte?
Schwierig sieht es auch beim Ablauf. Welchen Sinn macht die Wahl einer Spaltenvorgabe (Name oder Vorname), wenn der Algorithmus davon unabhängig arbeitet?
(Ein Sinn könnte es ergeben, wenn tatsächlich nur der gewählte Wert der ausgewählten Spalte in einem zufälligen Datensatz gemeint war)
Ich bin zwar der erste, der empfiehlt, kleine, abstrahierte Beispiele für sein Problem zu erstellen, wenn man mit der Lösung nicht klar kommt, aber die Semantik des Beispiels sollte schon recht nahe am Original sein. Das trägt zum Verständnis bei den Helfern bei und bietet die Chance, dass jemand einen viel besseren Weg als den anfänglich gesuchten aufzeigen kann.
Einen Kommentar schreiben:
-
Fiktive Beispiele helfen halt selten bei der Lösung eines konkreten Problems.Zitat von codingcore Beitrag anzeigenVor- Und Nachname waren hier nur als Beispiele.
Bevor man dazu irgendwas sagen kann, wäre es notwendig zu verstehen, was du überhaupt erreichen willst. Offenbar willst du etwas anderes, als du erzählt.Zitat von codingcore Beitrag anzeigenAls Verwendet markieren geht natürlich auch aber das sie gelöscht werden wäre mir lieber.
Einen Kommentar schreiben:
-
Vor- Und Nachname waren hier nur als Beispiele.Wozu werden dann Kombinationen aus Vor- und Nachnamen in der Datenbank gespeichert, wenn du entweder Vorname oder Nachname benötigst?
Als Verwendet markieren geht natürlich auch aber das sie gelöscht werden wäre mir lieber.Und warum löschen? Warum nicht einfach als verwendet markieren?
Einen Kommentar schreiben:
-
Wozu werden dann Kombinationen aus Vor- und Nachnamen in der Datenbank gespeichert, wenn du entweder Vorname oder Nachname benötigst?
Und warum löschen? Warum nicht einfach als verwendet markieren?
Einen Kommentar schreiben:
-
Eigentlich möchte ich nur ein Programm schreiben was einen Zufälligen Datensatz wiedergibt und diesen nach dem ausgeben aus der Datenbank löscht.Erkläre mal etwas zu deinem Hintergrund dieses unsinnigen Vorhabens.
Weil, du hast ja danach eine Lücke, bzw. einen fehlenden Vornamen, das ergibt ja nicht wirklich Sinn.
Deiner Tabelle fehlt die ID und damit der primary key, dieser ist immer notwendig, allein schon um Datensätze eindeutig zu identifizieren.
Und dabei soll man entscheiden können ob man einen zufälligen Vor- oder Nachnamen angezeigt haben möchte.
Einen Kommentar schreiben:
-
Erkläre mal etwas zu deinem Hintergrund dieses unsinnigen Vorhabens.
Weil, du hast ja danach eine Lücke, bzw. einen fehlenden Vornamen, das ergibt ja nicht wirklich Sinn.
Deiner Tabelle fehlt die ID und damit der primary key, dieser ist immer notwendig, allein schon um Datensätze eindeutig zu identifizieren.
Einen Kommentar schreiben:
-
Hier ist mal ein Bild der Datenbank: Datenbank.png
Wie kann ich es nun machen das, dass Script bei der Tabelle "Vorname" einen der 3 werte zufällig auswählt und wieder gibt und danach diesen Wert löscht.
Es sollen nicht zufällige Werte aus beiden Tabellen genommen werden nur z.B. aus der Tabelle "Vorname" wie kann ich das machen? :/
Einen Kommentar schreiben:
-
Ja, der zufällig ausgewählte Datensatz soll dann aus der Datenbank gelöscht werden.Was willst du genau?
Ich verstehe dich so dass du einen Datensatz zufällig aus einer Tabelle rausfischen willst.
Wenn dem so ist, dann kannst du das so machen
PHP-Code:
SELECT id, wert FROM myTable ORDER BY RAND() LIMIT 1;
Php hat auch eine Zufallsfunktion.
Und was soll danach gelöscht werden, der zufällige Datensatz?
Es soll wie ein Private Prinzip sein also z.B. Jemand generiert einen zufälligen Datensatz dieser wird dann aus der Datenbank entfernt so das nur der jenige der ihn generiert hat auch für sich selber hat
Einen Kommentar schreiben:
-
Was willst du genau?
Ich verstehe dich so dass du einen Datensatz zufällig aus einer Tabelle rausfischen willst.
Wenn dem so ist, dann kannst du das so machen
Php hat auch eine Zufallsfunktion.PHP-Code:SELECT id, wert FROM myTable ORDER BY RAND() LIMIT 1;
Und was soll danach gelöscht werden, der zufällige Datensatz?
Einen Kommentar schreiben:

Einen Kommentar schreiben: