mysql_query gibt falsche werte

Alles, was PHP betrifft, kann hier besprochen werden.

mysql_query gibt falsche werte

Postby kwatsch » 27. June 2005 12:55

Hallo, ich habe ein Script welches in PHP3 geschrieben worden ist. jetzt habe ich es an PHP5 angepasst. Soweit läuft alles, bis auf eine kleinigkeit.
Wenn der Kunde ein SMSPaket nachträglich auflädt, bekommt er die 3 fache anzahl an sms gutgeschrieben. Es ist in der Datenbank soweit alles richtig eingetragen, bis ich auf Upgraden gehe und dem Kunden die SMS zuweise.

ich denke mal der Fehler liegt in zeile 10 unter Upgraden. habe es auch schon mit: mysql_query("UPDATE pakete set sms = sms+".$_GET['sms']." WHERE user_id = '$client'"); versucht aber es geht nicht.

Bin dankbar für jede hilfe.
Code: Select all
<?
include("./config.php");

if($del){
  mysql_query("DELETE FROM sms_warte WHERE id='$id_select'");
  echo "<div align=center><p class=standard>Erfolgreich gelöscht</p></div>";
}

if($upgrade){
  mysql_query("UPDATE pakete set sms=+$sms  WHERE id = '$client'");
  mysql_query("DELETE FROM sms_warte WHERE id='$slave'");
  echo "<div align=center><p class=standard>Dem Kunden wurden die SMS zugeweisen</p></div>";
}

$result=mysql_query("SELECT * FROM sms_warte");
echo '<title>Userverwaltung</title>
      <body text="#000000" bgcolor="#DEDFDE" link="#FF0000" alink="#FF0000" vlink="#FF0000">
      <link rel="stylesheet" type="text/css" href="style.css">';

echo "<script src=\"../js/functions.js\" type=\"text/javascript\" language=\"javascript\"></script>";

echo '<div align=center>';
echo '<SPAN class="normal">
<<- <a class=link href="user.php"><strong>Zu den Usern</strong></a> ->>
<<- <a class=link href="user_rechnung.php"><strong>Rechnungen</strong></a> ->>
</SPAN>';
echo '<table cellpadding=0 cellspacing=0 border=0 width=650 align=center>
      <tr bgcolor=#cccccc>
       <td class=standard><b>ClientID</b></td><td class=standard><b>PaketName</b></td><td class=standard><b>enthalteneSMS</b></td><td class=standard><b>Upgrade vom</b></td><td class=standard><b>Upgrade</b></td><td class=standard><b>Del</b></td>
      </tr>';

while($row=mysql_fetch_array($result)){
 
 $i++;
 if(bcmod($i,2)==0){
   $backcolor="bgcolor=eeeeee";
 }
 else{
   $backcolor="bgcolor=ffffff";
 }

 echo "<tr $backcolor><td style=\"padding-left:8px\" class=standard>$row[client_id]</td><td class=standard>$row[pak]</td><td class=standard>$row[sms]</td><td class=standard>".date('d.m.y',$row[time])."</td><td><a class=standard href=\"user_upgraden.php?slave=$row[id]&sms=$row[sms]&client=$row[client_id]&upgrade=1\" onclick=\"return confirmLink(this, 'Bestellung freischalten?')\">freigabe</a></td><td><a class=standard href=\"user_upgraden.php?id_select=$row[id]&del=1\" onclick=\"return confirmLink(this, 'Bestellung l&ouml;schen?')\">del</a></td></tr>";

}

echo '</table>';
echo '</div>';

$array_reg = array_merge($_GET,$_POST,$_SESSION,$_COOKIE,$_SERVER,$_ENV);
foreach ($array_reg as $key => $value){
 if(is_array($value)) {
  foreach ($value as $key_2 => $value_2) {
   $$key_2 = $value_2;
  }
 } else {
  $$key = $value;
 }
}

?>
kwatsch
 
Posts: 3
Joined: 24. July 2004 12:17

Postby DJ DHG » 27. June 2005 15:57

Moin Moin

Ich habe deinen Code mal kurz überflogen.
Versuche es mal so?
Code: Select all
mysql_query("UPDATE pakete set sms=sms+$sms  WHERE id = '$client'") or die ("DB-Fehler-Nummer" .mysql_errno(). "|| Meldung: ". mysql_error());


Du solltest dir auch mal überlegen, anstand von if
mit switch zu arbeiten.
http://de3.php.net/switch

mfg DJ DHG
User avatar
DJ DHG
AF Moderator
 
Posts: 2455
Joined: 27. December 2002 13:50
Location: Kiel

mysql_query

Postby kwatsch » 27. June 2005 18:44

danke schon einmal für die schnelle antwort, hat aber leider nicht funktioniert.

könnte es evt sein, das die Einstellung der datenbank nicht korrekt ist?

Die sind:


#
# Tabellenstruktur für Tabelle `pakete`
#

DROP TABLE IF EXISTS `pakete`;
CREATE TABLE `pakete` (
`id` int(11) NOT NULL auto_increment,
`user_id` int(11) NOT NULL default '0',
`sms` int(11) NOT NULL default '0',
`von` int(11) NOT NULL default '0',
`bis` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=236 ;

#
# Daten für Tabelle `pakete`
#

INSERT INTO `pakete` (`id`, `user_id`, `sms`, `von`, `bis`) VALUES (1, 1, 0, 1063226357, 0);


# --------------------------------------------------------

#
# Tabellenstruktur für Tabelle `rechnung`
#

DROP TABLE IF EXISTS `rechnung`;
CREATE TABLE `rechnung` (
`id` int(11) NOT NULL auto_increment,
`user_id` int(11) NOT NULL default '0',
`preis` varchar(255) NOT NULL default '',
`paket` varchar(255) NOT NULL default '',
`sms` varchar(255) NOT NULL default '0',
`status` int(1) NOT NULL default '0',
`time` int(12) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;

#
# Daten für Tabelle `rechnung`
#


# --------------------------------------------------------

#
# Tabellenstruktur für Tabelle `sms`
#

DROP TABLE IF EXISTS `sms`;
CREATE TABLE `sms` (
`id` int(11) NOT NULL auto_increment,
`user_id` int(11) NOT NULL default '0',
`text` text NOT NULL,
`an` varchar(15) NOT NULL default '0',
`time` int(11) NOT NULL default '0',
`free_sms` varchar(12) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=952 ;

#
# Daten für Tabelle `sms`
#

INSERT INTO `sms` (`id`, `user_id`, `text`, `an`, `time`, `free_sms`) VALUES (1, 187, 'Das neue Touch von MOuch im neuen Design touch auch du du Muh.', '01751744951', 1090086702, '0');

# --------------------------------------------------------

#
# Tabellenstruktur für Tabelle `sms_paks`
#

DROP TABLE IF EXISTS `sms_paks`;
CREATE TABLE `sms_paks` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(40) NOT NULL default '',
`sms` int(11) NOT NULL default '0',
`preis` varchar(11) NOT NULL default '',
`typ` int(1) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=94 ;

#
# Daten für Tabelle `sms_paks`
#

INSERT INTO `sms_paks` (`id`, `name`, `sms`, `preis`, `typ`) VALUES (8, 'SMS-Paket', 125, '5.00', 0),
(91, 'Flatrate (Laufzeit 1 Monat)', 99999, '9.99', 0),
(92, 'Flatrate (Laufzeit 1 Monat)', 99999, '10.99', 1),
(93, 'SMS-Paket', 125, '6.00', 1);

# --------------------------------------------------------

#
# Tabellenstruktur für Tabelle `sms_warte`
#

DROP TABLE IF EXISTS `sms_warte`;
CREATE TABLE `sms_warte` (
`id` int(11) NOT NULL auto_increment,
`client_id` int(11) NOT NULL default '0',
`sms` int(11) NOT NULL default '0',
`pak` varchar(255) NOT NULL default '',
`time` int(12) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=13 ;

#
# Daten für Tabelle `sms_warte`
#


# --------------------------------------------------------

#
# Tabellenstruktur für Tabelle `user`
#

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(11) NOT NULL auto_increment,
`login` text NOT NULL,
`passwort` text NOT NULL,
`name` text NOT NULL,
`vorname` text NOT NULL,
`nummer` varchar(11) default NULL,
`email` text NOT NULL,
`aktiv` tinyint(1) NOT NULL default '0',
`strasse` varchar(100) NOT NULL default '',
`plz` int(5) NOT NULL default '0',
`ort` varchar(100) NOT NULL default '',
`free` int(12) NOT NULL default '0',
`free_send` int(1) NOT NULL default '0',
PRIMARY KEY (`id`,`id`)
) TYPE=MyISAM AUTO_INCREMENT=236 ;

#
# Daten für Tabelle `user`
#

INSERT INTO `user` (`id`, `login`, `passwort`, `name`, `vorname`, `nummer`, `email`, `aktiv`, `strasse`, `plz`, `ort`, `free`, `free_send`) VALUES (1, 'test', 'ebay2005', 'Mustermann', 'Max', '01755524126', 'info@go4sms.de', 1, 'Musterweg', 23456, 'Musterhausen', 1122501611, 0);



Sory wenn ich alles oder zuviel mitschicke aber ich denke lieber alles als zuwenig.
kwatsch
 
Posts: 3
Joined: 24. July 2004 12:17


Return to PHP

Who is online

Users browsing this forum: No registered users and 6 guests