php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Thema geschlossen
 
LinkBack Themen-Optionen Thema bewerten
  #31 (permalink)  
Alt 22-04-2013, 18:19
Tastatur
 Registrierter Benutzer
Links : Onlinestatus : Tastatur ist offline
Registriert seit: Feb 2010
Beiträge: 159
Tastatur befindet sich auf einem aufstrebenden Ast
Standard

Ich meine damit das die Datenbankstruktur unverändert ist.
Sie sieht wie folgt aus:

id, zahl1, zahl2, zahl3, zahl4, zahl5, zahl6
1, 10, 14, 20, 25, 33, 41
2, 9, 18, 23, 30, 41, 45 Beispieldaten
3, 15, 19, 29, 35, 36, 39

Es soll möglich gemacht werden das komplette Zahlen Array mit past und copy in ein Datenfeld eingefügt werden und dann die Abfrage durchlaufen.
  #32 (permalink)  
Alt 22-04-2013, 22:40
Guenni61
 Registrierter Benutzer
Links : Onlinestatus : Guenni61 ist offline
Registriert seit: Nov 2011
Ort: Viersen
Beiträge: 128
Guenni61 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Tastatur Beitrag anzeigen
Das Problem das die Zahlen drin stehen bleiben habe ich so gelöst.
<input type="text" name="zahl1" value="<?php echo $_POST['zahl1']; ?>" />
Siehst du, es geht doch, wenn man mal einen kleinen Denkanstoß bekommt.

Zitat:
Zitat von Tastatur Beitrag anzeigen
Ich meine damit das die Datenbankstruktur unverändert ist.
Sie sieht wie folgt aus:
id, zahl1, zahl2, zahl3, zahl4, zahl5, zahl6
1, 10, 14, 20, 25, 33, 41
2, 9, 18, 23, 30, 41, 45 Beispieldaten
3, 15, 19, 29, 35, 36, 39
Es soll möglich gemacht werden das komplette Zahlen Array mit past und copy in ein Datenfeld eingefügt werden und dann die Abfrage durchlaufen.
Dazu gibst du die (eine) Zahlenkette (z.B. 10, 14, 20, 25, 33, 41) in ein Textfeld ein und machst nach dem Absenden ein Array daraus.
PHP-Code:
$zahlen explode(","$_POST['zahlen']); 
Die Funktion array_unique entfernt doppelte Elemente aus einem Array und gibt das neue Array zurück.

Hiermit machst du die Eingabeprüfung, ob Zahlen doppelt eingegeben wurden.
PHP-Code:
if(count(array_unique($zahlen)) < 6){ //Wurden doppelte Elemente entfernt, sind weniger als 6 Zahlen im Array
 
echo "Mindestens eine der Zahlen ".implode(" | "$zahlen)." wurde doppelt eingegeben.";
 exit;

Sind 6 Elemente drin, gehts weiter, wie gehabt, allerdings diesmal mit dem Zahlenarray.
PHP-Code:
$query="SELECT id FROM lotto WHERE 
 $zahlen[0] in (zahl1,  zahl2,  zahl3,  zahl4,  zahl5,  zahl6) and
 $zahlen[1] in (zahl1,  zahl2,  zahl3,  zahl4,  zahl5,  zahl6) and
 $zahlen[2] in (zahl1,  zahl2,  zahl3,  zahl4,  zahl5,  zahl6) and
 $zahlen[3] in (zahl1,  zahl2,  zahl3,  zahl4,  zahl5,  zahl6) and
 $zahlen[4] in (zahl1,  zahl2,  zahl3,  zahl4,  zahl5,  zahl6) and
 $zahlen[5] in (zahl1,  zahl2,  zahl3,  zahl4,  zahl5,  zahl6)"

Gruß
Günni

PS.: Was soll denn mal daraus werden? Die ultimative "Wie waren die Lottozahlen der letzten 40 Jahre-Anwendung"?
  #33 (permalink)  
Alt 23-04-2013, 09:42
Tastatur
 Registrierter Benutzer
Links : Onlinestatus : Tastatur ist offline
Registriert seit: Feb 2010
Beiträge: 159
Tastatur befindet sich auf einem aufstrebenden Ast
Standard

Ich hab das so gemacht wie du beschreiben hast, es kommt auch keine Fehlermeldung, jedoch auch kein Ergebnis.
Ich hab daher die Datenbank einfacher gestalltet, sie hat jetzt nur 2 Spalten. "id" und "string". In der Spalte string sind die Lottozahlen durch Komma getrennt. In das Eingabefeld bzw. in die 6 Eingabefleder sollen dann solche 3,12,13,16,23,41 Zahlenkolonnen eingegeben werden.

Die Datenbank sieht wie folgt aus:
"id" wurde mit INT 20 und "string" mit VARCHAR 20 vergeben.

id; string
1; 3,12,13,16,23,41
2; 3,12,18,30,32,49
3; 12,14,23,24,34,36
4; 4,13,23,30,36,44
5; 5,6,31,39,44,49
6; 6,18,22,29,37,44
7; 4,8,12,16,27,44
8; 9,24,26,37,44,46
9; 5,20,21,26,31,47
10; 8,10,22,26,31,37

$abfrage="SELECT id FROM lotto WHERE
string in ($zahl1,$zahl2,$zahl3,$zahl4,$zahl5,$zahl6)";

Die Abfrage funktioniert, jedoch kommt ein Ergebnis raus
was nicht stinmmen kann. Kann es sein das der "string" nicht erkannt wird?
Oder was mach ich falsch ?

Mittlerweile hab ich festgestellt, wenn ich im Eingabefeld Zahlen ohne (,) Komma eingebe, funktioniert die Abfrage, nur mit Komma geht nichts. Wo leigt der Fehler?

Geändert von Tastatur (23-04-2013 um 10:04 Uhr)
  #34 (permalink)  
Alt 23-04-2013, 11:29
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.576
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Tastatur Beitrag anzeigen
Ich hab daher die Datenbank einfacher gestalltet, sie hat jetzt nur 2 Spalten. "id" und "string". In der Spalte string sind die Lottozahlen durch Komma getrennt.
Das ist großer Quatsch und bringt viele Probleme. Kommando retour.
  #35 (permalink)  
Alt 23-04-2013, 16:55
Wasser_Wanderer
 Registrierter Benutzer
Links : Onlinestatus : Wasser_Wanderer ist offline
Registriert seit: Aug 2011
Beiträge: 225
Wasser_Wanderer befindet sich auf einem aufstrebenden Ast
Standard

Tastatur: Grundlagen von Datenbanken unbedingt lernen und beachten
Das musste und habe ich auch lernen und verstehen müssen.

Jeder Datensatz ist eindeutig und nicht irgendein String, der dann per PHP aufgedröselt werden muss. Da brauchste auch keine Datenbank wie MySql für und dann kannte bei Textdateien bleiben. Bei 40.000 Datensätzen:

Also bleib bei MySql und jede einzelne Zahl ist ein Datenfeld.
Klar kann man auch mit SQL-Abfragen eine Regex innerhalb eines Strings durchführen, aber das würde deine Kenntnisse übersteigen.
Solltest du dir das dennoch zutrauen, dann lies dazu das entsprechende Tutorial hier: MySQL :: MySQL 5.1 Referenzhandbuch :: G Beschreibung der MySQL-Syntax für reguläre Ausdrücke

Wenn du das verstanden hast, dann kannste weiter mit Stringsuche in SQL weitermachen
  #36 (permalink)  
Alt 23-04-2013, 17:44
Tastatur
 Registrierter Benutzer
Links : Onlinestatus : Tastatur ist offline
Registriert seit: Feb 2010
Beiträge: 159
Tastatur befindet sich auf einem aufstrebenden Ast
Standard

Wenn dieser Wert hier " 3,12,13,16,23,41 " in der Datenbank steht und wird in Eingabefeld auch so " 3,12,13,16,23,41 " eingegeben, dann muß er auch gefonden werden.
Für mich stellt ich die Frage muß ich die Datenbank mit der Spalte "string"
auf ....
CHAR ()
VARCHAR ()
TINYTEXT
TEXT
BLOB
MEDIUMTEXT
MEDIUMBLOB
LONGTEXT
LONGBLOB
TINYINT ()
SMALLINT ()
MEDIUMINT ()
INT ()
BIGINT ()
FLOAT
DOUBLE (,)
DECIMAL (,)

setzen damit er dies hier " 3,12,13,16,23,41 " erkennt.
  #37 (permalink)  
Alt 23-04-2013, 17:52
Wasser_Wanderer
 Registrierter Benutzer
Links : Onlinestatus : Wasser_Wanderer ist offline
Registriert seit: Aug 2011
Beiträge: 225
Wasser_Wanderer befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Tastatur Beitrag anzeigen
Für mich stellt ich die Frage muß ich die Datenbank mit der Spalte "string"
auf ....
CHAR ()
VARCHAR ()
TINYTEXT
TEXT
BLOB
MEDIUMTEXT
MEDIUMBLOB
LONGTEXT
LONGBLOB
TINYINT ()
SMALLINT ()
MEDIUMINT ()
INT ()
BIGINT ()
FLOAT
DOUBLE (,)
DECIMAL (,)

setzen damit er dies hier " 3,12,13,16,23,41 " erkennt.
Dann lese dir das Handbuch dazu endlich mal durch. Dann weist du das (hoffentlich)

Meinen Post oben haste dir sowieso nicht durchgelesen. Geschweige den Hinweis auf REGEX

Geändert von Wasser_Wanderer (23-04-2013 um 17:53 Uhr) Grund: Wut
  #38 (permalink)  
Alt 23-04-2013, 18:06
Tastatur
 Registrierter Benutzer
Links : Onlinestatus : Tastatur ist offline
Registriert seit: Feb 2010
Beiträge: 159
Tastatur befindet sich auf einem aufstrebenden Ast
Standard

Wenn doch jeder ein Selbststudium machen soll, wozu braucht er denn dieses Forum ? Das Forum ist dafür da, ohne ein Studium zu betreiben schnelle Hilfe zu haben. Dafür ist ds ganze Internet da. Ich leg euch gleich ein Ei hier in das Forum.
Miniaturansicht angehängter Grafiken
Abfrage funktioniert nicht-ei.jpg  
  #39 (permalink)  
Alt 23-04-2013, 18:12
Wasser_Wanderer
 Registrierter Benutzer
Links : Onlinestatus : Wasser_Wanderer ist offline
Registriert seit: Aug 2011
Beiträge: 225
Wasser_Wanderer befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Tastatur Beitrag anzeigen
Wenn doch jeder ein Selbststudium machen soll, wozu braucht er denn dieses Forum ? Das Forum ist dafür da, ohne ein Studium zu betreiben schnelle Hilfe zu haben. Dafür ist ds ganze Internet da. Ich leg euch gleich ein Ei hier in das Forum.
Ja. Ja. Alles ist umsonst. Auch das vorkauen Anderer?

Dann leg dein Ei auf deine Lochkarten.

Schnelle Hilfe: Ja. Bekommste hier oft. Hab ich auch schon bekommen.

Aber ohne sich mit Grundlagen zu beschäftigen, kommste hier nicht weit.

Auto fahren willste, aber keine Fahrschule besuchen bzw. Grundlagen lernen machen?
  #40 (permalink)  
Alt 23-04-2013, 18:19
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.576
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Tastatur Beitrag anzeigen
Wenn doch jeder ein Selbststudium machen soll, wozu braucht er denn dieses Forum ? Das Forum ist dafür da, ohne ein Studium zu betreiben schnelle Hilfe zu haben.
Nein, ist es nicht.
  #41 (permalink)  
Alt 23-04-2013, 19:14
Melewo
 Registrierter Benutzer
Links : Onlinestatus : Melewo ist offline
Registriert seit: Jan 2013
Beiträge: 365
Melewo befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Tastatur Beitrag anzeigen
Wenn doch jeder ein Selbststudium machen soll, wozu braucht er denn dieses Forum ? Das Forum ist dafür da, ohne ein Studium zu betreiben schnelle Hilfe zu haben. Dafür ist ds ganze Internet da. Ich leg euch gleich ein Ei hier in das Forum.
Ich bin zwar noch nicht so sehr lange in diesem Forum aktiv, doch derartige Antworten gehen mir auch auf den Senkel.

Ein Forum, unabhängig von der Art und den Schwerpunkten eines Forums, ist zum Austausch von Meinungen gedacht, zum Diskutieren und zur Hilfe zur Selbsthilfe. Die Selbsthilfe besteht nun einmal darin, dass man sich auch mal ein oder zwei Bücher über MySQL besorgt, sich zusätzlich noch weitere Quellen online reinsaugt und wenn man dann an einen Punkt nicht weiter weiß, in einem Forum nachfragt.

Also, entweder ist Programmierung Dein Hobby, dann opferst Du auch gern die Zeit dafür und beschäftigst Dich auch mit den Grundlagen und fängst mit einfacheren Anwendungen an. Oder aber Programmierung ist nicht Dein Hobby und Du möchtest nur ein paar Scripts für irgendwelche Seiten, die Geld abwerfen sollen, dann wirst Du keine fertige Lösung kostenlos gebacken bekommen, die all Deinen Vorstellungen gerecht wird und bist in einem Forum fehl am Platze.

Sicherlich ist ein Forum auch zur Beantwortung von einzelnen Fragen gut, jedoch dann nur um eine Richtung zu weisen oder einen Tipp zur Lösung zu geben, bei einfacheren Angelegenheiten auch mal einen brauchbaren Lösungsweg aufzuzeigen, nicht aber um etwas auszuarbeiten, wozu ein anderer keine Lust hat.

Geändert von Melewo (23-04-2013 um 19:23 Uhr)
  #42 (permalink)  
Alt 23-04-2013, 20:07
Tastatur
 Registrierter Benutzer
Links : Onlinestatus : Tastatur ist offline
Registriert seit: Feb 2010
Beiträge: 159
Tastatur befindet sich auf einem aufstrebenden Ast
Standard

Ich brauche nur ein paar Infos für meine Projektwoche für meine Schüler.
Es geht um PHP und SQL Datenbanken als Einführung. Da ich aber noch eine Freundin habe, fehlt mir die Zeit um mich auf das Projekt vorzubereiten. Daher meine andauernden Fragen. Die Antworten die ich erhalten habe, ermöglichten mir, mehr Zeit meinem 1. Hobby zu witmen, nämlich meine Freundin zu begatten.
  #43 (permalink)  
Alt 23-04-2013, 20:17
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Leg’ deine Eier woanders.

*close*

Noch ein Thread zum gleichen Thema = Zwangspause.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Thema geschlossen

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
if-Abfrage funktioniert nicht Mathes PHP Developer Forum 6 01-08-2006 22:44
if Abfrage funktioniert nicht? maximus Caesar PHP Developer Forum 7 04-05-2006 09:55
Abfrage Funktioniert nicht! nlochat SQL / Datenbanken 4 06-10-2005 17:43
Mysql Abfrage funktioniert nicht Marco Gutenhof SQL / Datenbanken 6 06-12-2003 14:07
Abfrage funktioniert nicht! moe152 SQL / Datenbanken 4 21-04-2001 19:30

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:21 Uhr.