php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.11.2004, 22:14  
Benutzer
 
Registriert seit: 26.01.2004
Beiträge: 62
fender
Standard 2 verschiedene Anfragen, zu einer Anfrage vereinen

Hallo

Die Datenbank ist MySQL!!

Ich möchte für 2 verschiedene Anfragen (verschiedene Felder) in eine Anfrage vereinen.
Das Ergebniss der "Erfüllung" und der nicht "Erfüllung" sollte bei beiden Anfragen zur selben "else" führen.
Der als Komentar (/*-*/) ausgesetzte Code ist der zweite den ich einbauen müßte!
Beide einzeln funtionieren!!
Aber es müßten beide mit einem "else" funktionieren!!

Hier der Code:
(fängt nacht der Klassen Declaration an)

<?php

class mysql_db {
var $link = false;
var $resid = false;
var $doerror = false;
var $host = "localhost";
var $user = "xxxxx";
var $passwd = "xxxxx";
var $tables = "votum_alex";

function set_doerror($boolvalue)
{
$this->doerror = $boolvalue;
}


function connect()
// Verbindet zur Datenbank
{
$temp = @mysql_connect
($this->host, $this->user, $this->passwd);
if (!$temp)
{
$this->echoerror();
return false;
}
$this->link = $temp;
$temp = @mysql_select_db($this->tables, $temp);
if (!$temp)
{
$this->echoerror();
return false;
}
return $this->link;
}



function query($sql)
// Sendet eine Anfrage an die Datenbank
{
if (!$this->link)
{
if ($this->doerror)
{
echo ("Nicht verbunden.
");
return false;
}
}
if ($this->resid) @mysql_free_result($this->resid);
$result = mysql_query($sql);
if (!$result) $this->echoerror();
$this->resid = $result;
return $result;
#, $this->link)
}

function echoerror()
// erzeugt eine Fehlerausschrift
// wenn $doerror=TRUE
{
if (!$this->doerror) return;
if (!mysql_errno()) return;
echo ("<font color=\"red\">" . mysql_errno());
echo (": ". mysql_error() ."
</font>
");
}

function data()
// liefert einen Datensatz
{
if (!$this->link)
{
if ($this->doerror)
echo ("Nicht verbunden!
");
return false;
}
if (!$this->resid)
{
if ($this->doerror)
echo ("Keine Abfrage!
");
return false;
}
$result = mysql_fetch_array($this->resid, MYSQL_BOTH);
$this->echoerror();
return $result;
}


function echoquery($sql)
//Fragt die Datenbank ab und stellt die Abfrage dar
{
$this->query($sql);
echo("<table border cellpadding=\"3\"><tr>");
$index = 0;
echo("<th>record</th>");
while ($field = mysql_fetch_field($this->resid))
echo("<th>$field->name</th>");
echo ("</tr>\n");
$rec=0;
while ($row = $this->data())
{
$rec++;
echo("<tr><td>$rec</td>");
for ($i=0; $i<mysql_num_fields($this->resid); $i++)
echo("<td>".htmlentities($row[$i])."</td>");
echo("</tr>\n");
}
echo ("</table>");
}


function set_doerror($boolvalue)
{
$this->doerror = $boolvalue;
}


function mysql_db()
// Construktor
{
$this->connect();
}

}


$db = new mysql_db;
#=============Code==================
$server = "localhost";
$user = "xxxxx";
$pass = "xxxxx";
$datenbank = "votum_alex";

$ip = $REMOTE_ADDR;
$ip_proxy = $HTTP_X_FORWARDED_FOR;
$timestamp = time();
$zeitstempel = $timestamp;

$verbindung = mysql_connect($server,$user,$pass) or die ("Keine Verbindung möglich. Prüfen Sie die Zugangsdaten oder wenden Sie sich an den Administrator.");
mysql_select_db($datenbank) or die ("Die Datenbank existiert nicht. Prüfen Sie die Schreibweise oder wenden Sie sich an den Administrator.");

$dbh = mysql_connect($server, $user, $pass);

$db->query("select count(*) from vowahl where ip_proxy ='$proxytest'");
list($anzahl) = $db->data();
if ($anzahl>0)
{echo "Hoppla!
Solo se puede votar una vez!!";}

/*Die einzubauende Abfrage!!
$db->query("SELECT * FROM vowahl WHERE votenid=$votenid and ipadresse='$ip' and Zeit+INTERVAL 2 HOUR>NOW()");
if (!$db->data())
$db->query("INSERT INTO vowahl VALUES ('$votenid', '$antwortnr', '$ip', '$ip_proxy', NOW())");
**/
else{
if($ip_proxy == "")
$ip_proxy = "No tiene!";

$db->query("INSERT INTO vowahl VALUES ('$votenid', '$antwortnr', '$ip', '$ip_proxy', NOW())");

$zeitstempel = time ();
$datum = date ("d.m.Y - H:i:s",$zeitstempel);

echo "

<p align=\"center\"><font face=\"Arial\" size=\"4\" color=\"#6600FF\">";
echo "
";
echo "
";
echo "
";
echo "Gracias por su voto";
echo "
";
echo "Fecha Votacion: ";
echo $datum;
}


$ergebnis = mysql_query( "SELECT * FROM vowahl" );
$anz_nachher = mysql_num_rows( $ergebnis );

$timestamp = time ();

?>
#============Code=Ende==============

Gruß
__________________
Alex
GC
fender ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 22.11.2004, 22:24  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 529
DutziMan befindet sich auf einem aufstrebenden Ast
Standard

Setz' das ganze mal bitte in die [php]-Tags, dafür sind die da
DutziMan ist offline   Mit Zitat antworten
Alt 23.11.2004, 08:33  
Benutzer
 
Registriert seit: 26.01.2004
Beiträge: 62
fender
Standard

Es klingt wahrscheinlich dumm, aber was meinst Du mit [php]-Tags?
Meinst Du <?php....?> Oder mehr Kommentare?

Der Code läuft ohne den ausgeklammerten Code gut!
Vielleicht kannst Du mir ein kurzes Beispiel geben(nur eine Zeile)!
Ich möchte einfach nur die nachfolgenden Anfragen vereinen, das man nur wenn beide Bedingungen zu treffen in die Bank eintragen darf.

Die Bedingungen sind:
1)Das Feld "ip_proxy " ($HTTP_X_FORWARDED_FOR) darf nur einmal vorkommen, wenn es "null" hat wird es in den string "no tiene" umgewandelt.
2)Das Feld "ip" ($REMOTE_ADDR) muß, wenn es den selben Wert hat wie das einzutragende, mindestens 2 Stunden später eingetragen werden.

<?php

$db->query("select count(*) from vowahl where ip_proxy ='$proxytest'");
list($anzahl) = $db->data();
if ($anzahl>0)
{echo "Hoppla!
Man kann nur einmal abstimmen!!";}
else{
$db->query("INSERT INTO vowahl VALUES ('$votenid', '$antwortnr', '$ip', '$ip_proxy', NOW())");
}

?>


<?php
$db->query("SELECT * FROM vowahl WHERE votenid=$votenid and ipadresse='$ip' and Zeit+INTERVAL 2 HOUR>NOW()");
if (!$db->data())
$db->query("INSERT INTO vowahl VALUES ('$votenid', '$antwortnr', '$ip', '$ip_proxy', NOW())");
else{
echo "Hoppla!
Man kann nur einmal abstimmen!!";}

?>

Wie kann ich diese 2 Anfragen zu nur einer verbinden?
Gruß
__________________
Alex
GC
fender ist offline   Mit Zitat antworten
Alt 23.11.2004, 09:04  
Benutzer
 
Registriert seit: 26.01.2004
Beiträge: 62
fender
Standard

Irrtum!! Der erste code müßte natürlich so sein:

<?php

$db->query("select count(*) from vowahl where ip_proxy ='$proxytest'");
list($anzahl) = $db->data();
if ($anzahl>0)

{echo "Hoppla!
Man kann nur einmal abstimmen!!";}

else{
if($ip_proxy == "")
$ip_proxy = "No tiene!";


$db->query("INSERT INTO vowahl VALUES ('$votenid', '$antwortnr', '$ip', '$ip_proxy', NOW())");
}

?>

Gruß
__________________
Alex
GC
fender ist offline   Mit Zitat antworten
Alt 23.11.2004, 09:07  
Erfahrener Benutzer
 
Registriert seit: 01.12.2003
Beiträge: 4.113
supertramp
Standard

Zitat:
Zitat von fender
Es klingt wahrscheinlich dumm, aber was meinst Du mit [php]-Tags?
Meinst Du <?php....?> Oder mehr Kommentare?

Er meint diese Dinger hier:

[php ] [/ php] - allerdings ohne die Leerzeichen. Das nennt sich BBCode ist ist eine tolle Sache, um Code bunt darzustellen.
__________________
Aufstrebend, kompetent und werbefrei.
www.developers-guide.net
supertramp ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Verschiedene Werte in verschiedene Zeilen in eine Tabelle einfügen Heizkessel PHP Tipps 2008 4 15.02.2008 13:53
Ladebalken für MySQL Anfragen ? Cyberbob_at_tot PHP Tipps 2006 15 11.07.2006 12:38
Wieviele Anfragen kann ich einem MYSQL Server zutrauen Saliwen Datenbanken 10 09.02.2006 08:01
[Erledigt] verschiedene Versionen auf einem W2K3 Server betreiben PHP Tipps 2006 2 13.01.2006 17:39
[Erledigt] CSS: Verschiedene Farben f�r verschiedene Hyperlinks HTML, Usability und Barrierefreiheit 2 01.01.2006 13:08
[Erledigt] Externe PHP Anfragen Datenbanken 2 03.11.2005 17:09

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
verschiedene anfragen, wie verbinde ich 2 verschiedene felder innerhalb von 2 verschiedenen querys, function set_doerror($boolvalue), while ($zeile = mysql_fetch_array($resid,mysql_both)) php, set_doerror() in

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:07 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.