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
  #16 (permalink)  
Alt 20-04-2013, 09:44
Tastatur
 Registrierter Benutzer
Links : Onlinestatus : Tastatur ist offline
Registriert seit: Feb 2010
Beiträge: 159
Tastatur befindet sich auf einem aufstrebenden Ast
Standard

Hallo Guenni61

Dein Script bringt folgende Fehlermeldung: in der Zeile
" while($row=mysql_fetch_array($result, MYSQL_ASSOC)){ "

mysql_fetch_array() expects parameter 1 to be resource, boolean given

PHP-Code:
$result=mysql_query($query);
while(
$row=mysql_fetch_array($resultMYSQL_ASSOC)){
 echo 
$row['id'];

  #17 (permalink)  
Alt 20-04-2013, 09:50
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Und hättest du dich mit den Grundlagen beschäftigt, wüsstest du, dass mysql_query() im Fehlerfall FALSE (also einen boolschen Wert) zurück gibt. Wenn ein Fehler auftritt, kann man sich den Fehlertext mit mysql_error() ausgeben lassen.

Aber: Lern endlich die Grundlagen oder lass es bleiben.
  #18 (permalink)  
Alt 20-04-2013, 10:06
Tastatur
 Registrierter Benutzer
Links : Onlinestatus : Tastatur ist offline
Registriert seit: Feb 2010
Beiträge: 159
Tastatur befindet sich auf einem aufstrebenden Ast
Standard

Möchte lieber die Hilfe von Guenni61.

Danke für deinen Komentar h3II
  #19 (permalink)  
Alt 20-04-2013, 10:47
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Tastatur Beitrag anzeigen
Möchte lieber die Hilfe von Guenni61.

Danke für deinen Komentar h3II
Klartext: Ich will jemanden, der für mich die Arbeit macht, weil ich selber nicht meiner wertvolle Zeit dafür investieren will.
  #20 (permalink)  
Alt 20-04-2013, 15:31
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
Hallo Guenni61
Dein Script bringt folgende Fehlermeldung: in der Zeile
" while($row=mysql_fetch_array($result, MYSQL_ASSOC)){ "
mysql_fetch_array() expects parameter 1 to be resource, boolean given
PHP-Code:
$result=mysql_query($query);
while(
$row=mysql_fetch_array($resultMYSQL_ASSOC)){
 echo 
$row['id'];

Hi Tastatur,
. . . nee, nicht mein, sondern dein Script bringt die Fehlermeldung. OK, dann mal ganz vorn vorne.
Da du diese Zeile: while($row=mysql_fetch_array($result, MYSQL_ASSOC)){ erwähnst, hast du wohl
die erste Variante benutzt. Das komplette Script sieht dann so aus:
PHP-Code:
<?php
// Deine Datenbankverbindung und Auswahl der DB hier einfügen
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<form action="" method="post">
<input type="text" name="zahl1" />
<input type="text" name="zahl2" />
<input type="text" name="zahl3" />
<input type="text" name="zahl4" />
<input type="text" name="zahl5" />
<input type="text" name="zahl6" />
<input type="submit" name="cmd" />
</form>
<?php
/*
* Formular gesendet? 
*/
if(isset($_POST['cmd'])){ // cmd ist der Name des Submit-Buttons
 
$zahl1 $_POST["zahl1"];
 
$zahl2 $_POST["zahl2"];
 
$zahl3 $_POST["zahl3"];
 
$zahl4 $_POST["zahl4"];
 
$zahl5 $_POST["zahl5"];
 
$zahl6 $_POST["zahl6"];
 
 
/*
 * Ein Array der Zahlen bilden, um die Zahlen am Ende auszugeben.
 */
 
$zahlen = array($zahl1,$zahl2,$zahl3,$zahl4,$zahl5,$zahl6);
 
 
/*
 * Abfrage:
 * Die Variablen $zahl1 bis $zahl6 sind die gesendeten Zahlen aus dem Formular.
 *
 * Es wird geprüft, ob jede Zahl in einer der Tabellenspalten (zahl1,  zahl2,  zahl3,  zahl4,  zahl5,  zahl6) pro Datensatz vorkommt.
 */
 
$query="SELECT id FROM lotto WHERE 
 $zahl1 in (zahl1,  zahl2,  zahl3,  zahl4,  zahl5,  zahl6) and
 $zahl2 in (zahl1,  zahl2,  zahl3,  zahl4,  zahl5,  zahl6) and
 $zahl3 in (zahl1,  zahl2,  zahl3,  zahl4,  zahl5,  zahl6) and
 $zahl4 in (zahl1,  zahl2,  zahl3,  zahl4,  zahl5,  zahl6) and
 $zahl5 in (zahl1,  zahl2,  zahl3,  zahl4,  zahl5,  zahl6) and
 $zahl6 in (zahl1,  zahl2,  zahl3,  zahl4,  zahl5,  zahl6)"
;
 
 
/*
 * Kontrollausgabe, um die Abfrage auf Syntaxfehler zu überprüfen.
 */
 
echo "<pre>";
 echo 
$query;
 echo 
"</pre>";
 
 
$result=mysql_query($query);
 if(!
$result){ // Beachte das ! vor der Variablen $result: Das bedeutet not $result
  
echo "Fehler in der Abfrage";
  exit;
 }
 
$treffer 0;
 while(
$row=mysql_fetch_array($resultMYSQL_ASSOC)){
  
$treffer+=1;
 }
 echo 
"Die gesuchten Zahlen ".implode(" | "$zahlen)." wurden ".$treffer." mal gezogen.";
}
?>
</body>
</html>
Voraussetzung, dass das Script funktioniert, ist natürlich die Anpassung des Tabellennamens und der Spaltennamen.
Tabellenname hier: lotto
Die Spaltennamen in der Tabelle: zahl1 bis zahl6
Im Script wird die Abfrageformulierung ausgegeben, um sie auf Fehler zu überprüfen. Das solltest du dir auch angewöhnen.

Gruß
Günni
Miniaturansicht angehängter Grafiken
Abfrage funktioniert nicht-lotto3.jpg  

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

Hall Guenni61,

das Script funktioniert, jedoch sind die Resultate nicht richtig.

Z.B.
Die Lottozahlen der letzten 40 jahre
8,11,25,30,40,46 wurdne einmal gezogen = stimmt

13,13,13,13,13,13 wurden 380 mal gezogen = falsch

Richtig müsste sein 0, also keinmal gezogen.

Die Abfrage stimmt nicht.
  #22 (permalink)  
Alt 20-04-2013, 19:45
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

Die Abfrage stimmt nicht.
Dann mach sie doch so, das sie stimmt.

P.S.
*Ironie an:
Ich arbeite gerade an einer Liga-Verwaltung und hoffe das man sie mir auch hier komplett vorkaut, da ich zu faul bin bzw, keine Zeit habe das selber zu machen.*ironie aus
  #23 (permalink)  
Alt 20-04-2013, 21:52
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Tastatur Beitrag anzeigen
13,13,13,13,13,13 wurden 380 mal gezogen = falsch
Ist ja auch eine ungültige Lottoziehung. Bei einer Lottoziehung kann die Zahl 13 nicht mehr als einmal vorkommen.

Langsam glaube ich, du willst hier einfach nur trollen.
  #24 (permalink)  
Alt 21-04-2013, 08:13
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
Hall Guenni61,
das Script funktioniert, jedoch sind die Resultate nicht richtig.
Z.B.
Die Lottozahlen der letzten 40 jahre
8,11,25,30,40,46 wurdne einmal gezogen = stimmt
13,13,13,13,13,13 wurden 380 mal gezogen = falsch
Richtig müsste sein 0, also keinmal gezogen.
Die Abfrage stimmt nicht.
Hi Tastatur,

die Abfrage lautet:

Ist die Zahl und die Zahl und die Zahl und die Zahl und die Zahl und die Zahl in diesem Datensatz (3,13,24,36,44,47) enthalten?

Wenn du nun 6 mal die gleiche Zahl eingibst, so wird auch 6 mal nur nach dieser einen Zahl gesucht. Du machst also nichts anderes als:

Ist die 13 und die 13 und die 13 und die 13 und die 13 und die 13 in diesem Datensatz (3,13,24,36,44,47) enthalten?

Verkürzt hieße das: Ist die 13 in diesem Datensatz (3,13,24,36,44,47) enthalten? Somit macht die Abfrage genau das, was du wolltest.

Sie zählt, wie oft die Zahl 13 in deiner Statistik vorkommt.

Gruß
Günni
  #25 (permalink)  
Alt 21-04-2013, 10:10
Tastatur
 Registrierter Benutzer
Links : Onlinestatus : Tastatur ist offline
Registriert seit: Feb 2010
Beiträge: 159
Tastatur befindet sich auf einem aufstrebenden Ast
Standard

Hallo Guenni61

Du hast ja recht.
Allerding soll die gewünschte Zahlenkombination (also die 6 gezogenen Zahlen), für jeden Datensatz durchsucht werden.

So das bei der Kombination 9, 14, 22, 22, 35, 49 das Ergebnis 0 sein muss, weil die Zahl 22 zweimal drin vorkommt. Und das ist beim Lotto ja nicht möglich.

Daher muss die Datenbank Abfrage anders gestaltet werden.
  #26 (permalink)  
Alt 21-04-2013, 11:36
mephisto111
 Registrierter Benutzer
Links : Onlinestatus : mephisto111 ist offline
Registriert seit: Nov 2003
Beiträge: 52
mephisto111 befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

wie wär's mit

PHP-Code:
$query="SELECT id FROM lotto WHERE zahl1=$zahl1 AND zahl2=$zahl2 AND zahl3=$zahl3 AND zahl4=$zahl4 AND zahl5=$zahl5 AND zahl6=$zahl6"
Dabei sollte darauf geachtet werden, dass die Zahlenfolgen sowohl in der Datenbank als auch bei der Eingabe jeweils aufsteigend geordnet sind.
  #27 (permalink)  
Alt 21-04-2013, 13:03
Tastatur
 Registrierter Benutzer
Links : Onlinestatus : Tastatur ist offline
Registriert seit: Feb 2010
Beiträge: 159
Tastatur befindet sich auf einem aufstrebenden Ast
Standard

Ja jetzt funktionierts richtig.

Wie kann man das gestallten das das die Werte in den Eingabefeldern erhalten bleiben (drin stehen bleiben).
Damit wäre es möglich nachträglich nur eine Zahl zu ändern, ohne das man immer alle 6 Zahlen eintippen muss.

Geändert von Tastatur (21-04-2013 um 18:34 Uhr)
  #28 (permalink)  
Alt 21-04-2013, 21:34
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
Hallo Guenni61
Du hast ja recht.
Allerding soll die gewünschte Zahlenkombination (also die 6 gezogenen Zahlen), für jeden Datensatz durchsucht werden.
So das bei der Kombination 9, 14, 22, 22, 35, 49 das Ergebnis 0 sein muss, weil die Zahl 22 zweimal drin vorkommt. Und das ist beim Lotto ja nicht möglich.
Daher muss die Datenbank Abfrage anders gestaltet werden.
Hi Tastatur,

entschieden ein NEIN. Die Abfrage durchsucht die Tabelle nach einer bestimmten Regel: Die 6 gesuchten Zahlen müssen unterschiedlich sein.
An diese Regel hat sich der Formularbenutzer zu halten. Also muß das gemacht werden, was man üblicherweise macht: Man prüft die Eingaben.

Zitat:
Zitat von Tastatur Beitrag anzeigen
Ja jetzt funktionierts richtig.
Wie kann man das gestallten das das die Werte in den Eingabefeldern erhalten bleiben (drin stehen bleiben).
Damit wäre es möglich nachträglich nur eine Zahl zu ändern, ohne das man immer alle 6 Zahlen eintippen muss.
Ja jetzt funktionierts richtig. Ja, mag sein. Aber auch nur, wenn der Benutzer sich wieder an eine Regel hält:

Nämlich, dass er die Zahlen auch so einträgt, wie sie in der Tabelle gespeichert sind. Sonst wird es nämlich nichts mit dem direktem Vergleich,
textfeld1=zahl1 und textfeld2=zahl2 . . . usw., wie mephisto111 vorgeschlagen hat. Also musst du auch hier wieder die Eingabe prüfen.

Zu der anschließenden Frage: Wie kann man das gestallten das das die Werte in den Eingabefeldern erhalten bleiben (drin stehen bleiben).

Ganz einfach:
- Die gesendeten Zahlen sind in $_POST['zahl1'], $_POST['zahl2'], $_POST['zahl3'], . . . usw. enthalten.
- Textfeldern kann man über den Parameter value einen Wert zuweisen.

Denk mal ein bißchen nach, mach' selber mal einen Vorschlag, der "wenigstens" ansatzweise richtig ist. Dann zeig' ich dir, wie du doppelte Eingaben
überprüfen kannst und den Rest.

Gruß
Günni
  #29 (permalink)  
Alt 22-04-2013, 10:00
Tastatur
 Registrierter Benutzer
Links : Onlinestatus : Tastatur ist offline
Registriert seit: Feb 2010
Beiträge: 159
Tastatur befindet sich auf einem aufstrebenden Ast
Standard

Das Problem das die Zahlen drin stehen bleiben habe ich so gelöst.

<input type="text" name="zahl1" value="<?php echo $_POST['zahl1']; ?>" />

Zahlen Array abfragen
Wie kann ich einen Zahlen Array bei einer Datenbank Abfragen?
Es soll unten stehende 12 Datensätze bei einer bestehenden Datenbank
die auch solche Datensätze enthält abgefragt werden.

Wer hat hier eine Lösung wie die Abfrage gestaltet werden kann?

11,49,35,34,1,26
36,9,28,3,37,32
17,39,6,18,26,35
36,40,1,44,19,25
28,2,4,35,5,27
43,20,48,42,10,4
37,34,18,2,10,22
20,27,34,43,24,47
37,49,28,3,24,23
10,25,29,14,12
36,25,7,21,29,5
37,35,1,17,48,4

Elegant wäre es, wenn man in eine Eingabefeld die Zahlenkolonnen mit paste und copy
einfügen könnte.
  #30 (permalink)  
Alt 22-04-2013, 15:06
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

Was sind denn "solche Datensätze"? Was unterscheidet die denn von anderen?
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 17:06 Uhr.