php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.08.2004, 03:15  
Benutzer
 
Registriert seit: 29.04.2004
Beiträge: 76
Anuschka
Standard Spalte anlegen und in diese Daten einfügen

hallo,

ich habe folgendes Problem. Ich lege mit Hilfe eines PHP Skriptes nach einer neugenerierten Zahl eine neue Spalte in der MySQL Datenbank an. Der Spaltenname ist das aktuelle Datum.

Nun möchte ich auf die neugenerierte Spalte zugreifen und Daten eintragen. Mein Problem liegt darin, dass ich in den anderen php skript wo ich die Daten einfügen möchte bei dem
Zitat:
INSERT INTO ... VALUES();
ja eine spalte angeben muss und da diese spalte ja immer wieder mit dem aktuellen Datum neu eingetragen wird, hat die spalte leider keinen festen namen.

Kann mir jemand von euch weiterhelfen?

LG Anuschka
Anuschka ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 08.08.2004, 07:42  
Gast
 
Beiträge: n/a
Standard

hm, naja, klingt eher etwas "ungeplant", was die Konstruktion deiner Datenbank angeht!...
Kannst du vl dein Problem genauer beschreiben, vl finden wir ja eine andere Lösung (wohl eine bessere)
...
 
Alt 08.08.2004, 15:43  
Benutzer
 
Registriert seit: 29.04.2004
Beiträge: 76
Anuschka
Standard

Es geht dabei um folgendes. Ich speichere momentan noch in einer Dat.Datei (will das dann aber auch in einer DB speichern und dann immer wieder überschreiben) eine Tan, also eine mit Random generierte Zufallszahl. Diese Tan wird von meinen Clanmitgliedern eingegeben und eingegebenen Namen sollen mit Datum und Nick in der Datenbank gespeichert werden. ICh hab mich nun schon soweit durchgerungen dass es wohl besser ist die Tan als Spaltenname zu nehmen und nicht das aktuelle Datum. Da aber die Tan immer wieder neu generiert wird, hat die spalte wo ich mit dem Insert Befehl zu greifen will ja leider keinen festen Namen den ich in den befehl eingeben kann. und genau da weiss ich nicht weiter. Wie kann ich das so realisieren, hab zwar schon darüber nachgedacht dass in einer anderen tabelle zu speichern und dann in einem anderen skript das auszulesen und in die andere zu schreiben, aber das andere wäre mir lieber. Hoffe ich konnte euch das etwas verständlich erklären.

THX Anuschka
Anuschka ist offline  
Alt 08.08.2004, 15:49  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hi Anuschka,

Zitat:
Zitat von Anuschka
Hoffe ich konnte euch das etwas verständlich erklären.
das muss ich leider verneinen.
bzw. ich würde behaupten, dass die struktur nicht gut durchdacht ist.
du solltest de spaltennamen fest benennen.

wozu ist diese zufallszahl denn eigentlich gut bzw. wofür wird sie verwendet?

grüße ben
imported_Ben ist offline  
Alt 08.08.2004, 20:35  
Benutzer
 
Registriert seit: 29.04.2004
Beiträge: 76
Anuschka
Standard

Hab das jetzt geändert und hab nen festen spaltenname, jetzt hab ich noch nen anderes Problem. Ich will gerne das aktuelle Datum in die Spalte schreiben, er sagt mir auch dass er den Datensatz ändert, aber er tut es leider nicht.

Hier das Skript:
Code:
<?php
if ($admin == "pw"){
$tan="tan.dat";
srand(microtime()*1000000);
$input=rand(100000,999999);
$fd = fopen($tan,"w");
fwrite($fd,$input);
fclose($fd);


 $db = mysql_pconnect("localhost","","");
 mysql_select_db("training", $db);
 $sql = "SELECT * FROM tan";
 $result = mysql_query($sql, $db);

  while ($row = mysql_fetch_object($result))
	{
	echo "$row->id, $row->date, $row->tan";
	}

$sql1 = "UPDATE tan SET date ='CURDATE()', tan = '".$input."' WHERE id = '".$id."'";

$res = mysql_db_query;

	if($res)
		{
			echo "Der Datensatz \"$input\" wurde erfolgreich in der Datenbank geändert";
		}
	else
		{
			echo "Fehler beim Überschreiben der Spalte ";
		}

    mysql_close($db);
ich weiss nicht woran das liegt dass er es nicht macht

vielleicht kannst du mir hierbei helfen.

das andere hab ich sein lassen, da es wirklich nicht besonders gut durchdacht war.

THX
LG Anuschka
Anuschka ist offline  
Alt 08.08.2004, 21:02  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 2.150
Guradia befindet sich auf einem aufstrebenden Ast
Standard

Habe mal ein bisschen dran gefeilt. Vor allem Fehlerbehandlungen eingefügt, die auch etwas sinniges tun ^^


PHP-Code:
<?php

if ($admin == "pw")
{
    
$tan="tan.dat";
    
srand(microtime()*1000000);
    
$input=rand(100000,999999);
    
$fd fopen($tan,"w");
    
fwrite($fd,$input);
    
fclose($fd);

    
/**
     * Verbindung aufsetzen
     */
    
$db mysql_pconnect("localhost","","");
    
mysql_select_db("training"$db);
    
    
$sql "
        SELECT  *
        FROM    tan
    ;"
;
    if (!
$result mysql_query($sql$db))
    {
        print 
mysql_error();
    }
    else
    {
        while (
$row mysql_fetch_object($result))
        {
            print 
"$row->id, $row->date, $row->tan";
        }
    
        
$sql "
            UPDATE  tan
            SET     date    = NOW(),
                    tan     = '"
.$input."'
            WHERE   id = '"
.$id."'
        ;"
;
    
        if (!
$result mysql_query($sql$db))
        {
            print 
"Fehler beim Überschreiben der Spalte ";
            print 
mysql_error();
        }
        else
        {
            print 
"Der Datensatz \"$input\" wurde erfolgreich in der Datenbank geändert";
        }

        
mysql_close($db);
    }
}

?>
Guradia ist offline  
Alt 08.08.2004, 21:49  
Benutzer
 
Registriert seit: 29.04.2004
Beiträge: 76
Anuschka
Standard

jo, thx, erstmal danke für deine Hilfe, nur leider sagt er mir immer noch er hätte es überschrieben und macht es dennoch nicht.
Ich kann es mir nur erklären, dass ich irgendwo was verkehrt angegeben habe.
Ich geb dir mal die Daten aus der Datenbank, vielleicht siehst du ja nen Fehler, den ich gemacht hab.

DBName: training
Tabelle: tan
Spalte1: id
Spalte2: date
Spalte3: tan

ich kann mir echt nicht erklären warum er das net macht.



LG Anuschka

hat sich erledigt, habe das Problem gefunden. Da er den Eintrag ja immer wieder überschreibt, kann ich ja eine feste id nummer angeben. Nachdem ich das geändert hab, funktioniert es auch. Ich denke das Problem lag darin dass er die id nicht finden konnte.
Trotzdem danke für eure Hilfe

LG Anuschka
Anuschka ist offline  
Alt 09.08.2004, 00:14  
Benutzer
 
Registriert seit: 29.04.2004
Beiträge: 76
Anuschka
Standard

ich schon wieder, hab jetzt nen anderes Problem, ich habe in einer spalte das datum gespeichert, das hole ich aus der mysql-Datenbank wieder raus und speichere es in einer Variablen $date. Nun möchte ich in einer anderen Tabelle eine neue Spalte anlegen und der Spaltenname soll den Namen der Variablen $date bekommen und dann soll er in die Spalte ein x machen, wo der Nick ist, der sich angemeldet hat.

Er sagt mir wieder dass er es macht, aber in der Datenbank wird nichts neues angelegt. Vielleicht kann einer von euch mal drüberschauen.

Code:
 $sql = "SELECT * FROM tan ;";
          if (!$result = mysql_query($sql, $db))
    {
        echo mysql_error();
    }
    else
    {
        while ($row = mysql_fetch_object($result))
        {
            echo "$row->tan,$row->date";
        	$tan = $row->tan;
        }
        
         $sql1= "SELECT date FROM tan WHERE tan = '".$input."'";
   		 
   		 if (!$result = mysql_query($sql1, $db))
    		{   
        		echo mysql_error();
    		}
   		 else
    		{
        		while ($row = mysql_fetch_object($result))
        	{   
            	echo " <font color= \"black\">$row->date, $row->tan</font>";
        		
        		$date = $row->date;
        		echo "tan: ".$tan;
        		echo "input:".$input;
        		echo "date:" .$date;
        	} 
 					if ($input == $tan)
 
					 { 
					 	$sql2 = "ALTER TABLE `mitglieder` ADD   `".$date."` BLOB NOT NULL";
	
							if (!$result = mysql_query($sql, $db))
        						{
            						echo "Fehler beim Anlegen der Spalte ";
            						echo mysql_error();
        						}
        					else
        						{
        						
            					echo "</p>Die Spalte wurde erfolgreich in der Datenbank angelegt";
        						}
        				}
THX LG Anuschka
Anuschka ist offline  
Alt 09.08.2004, 00:18  
Gast
 
Beiträge: n/a
Standard

$sql2 = "ALTER TABLE `mitglieder` ADD `".$date."` BLOB NOT NULL";

if (!$result = mysql_query($sql, $db))
{
echo "Fehler beim Anlegen der Spalte ";
echo mysql_error();
}
else
{

echo "</p>Die Spalte wurde erfolgreich in der Datenbank angelegt";
}
}



---

na was denn nun $sql oder $sql2
 
Alt 09.08.2004, 00:29  
Benutzer
 
Registriert seit: 29.04.2004
Beiträge: 76
Anuschka
Standard

so hab das skript mal nen bissel verkleinert, aber er macht mir das trotzdem net. Er sagt mir wieder dass er es anlegt, macht er aber net.
Code:
 while ($row = mysql_fetch_object($result))
        {
            echo "$row->tan,$row->date";
        	$tan = $row->tan;
        	$date = $row->date;
        }	
 					if ($input == $tan)
 
					 { 
					 	$sql2 = "ALTER TABLE `mitglieder` ADD   `".$date."` BLOB NOT NULL";
	
							if (!$result = mysql_query($sql, $db))
        						{
            						echo "Fehler beim Anlegen der Spalte ";
            						echo mysql_error();
        						}
        					else
        						{
        						
            					echo "</p>Die Spalte wurde erfolgreich in der Datenbank angelegt";
        						}
        				}		
			
					 echo "</p>Der Datensatz \"$input\" wurde erfolgreich in der Datenbank geändert";
			
			}

 			}					
    }
  mysql_close($db);
 }
ich sehe echt null fehler, leider
Anuschka ist offline  
 


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
Daten aus einer Spalte in eine andere Tabelle einfügen Datenbanken 6 22.10.2009 12:41
Mehrere Arrays unterschiedlicher Größe kombinieren querfisch PHP Tipps 2007 9 31.03.2007 21:34
Durch Spalte definieren, welche Spalte zu ändern ist. CC84 Datenbanken 5 28.11.2006 10:26
Session Frage - gleiches Formular 2 mal alle Daten behalten NetLook PHP Tipps 2007 1 21.11.2005 18:42
[Erledigt] sql daten für einen kunden auslesen/ändern im Formular PHP Tipps 2005-2 3 12.10.2005 08:36
Daten auslesen und ändern Datenbanken 2 17.09.2005 19:28
Daten eintragen und auslesen Rettungsdackel Datenbanken 0 14.09.2005 16:29
einzelne Daten aufrufen von .csv PHP Tipps 2005-2 7 23.08.2005 08:28
doppelte Werte / Strings einer Spalte nur einmal ausgeben... Datenbanken 2 29.07.2005 12:10
Mysql daten in Selct element einfügen PHP Tipps 2005 4 08.03.2005 17:44
mehrere daten in eine spalte? $$$ ThiKool $$$ Datenbanken 3 01.03.2005 09:07
Alle Daten aus einer Spalte auflisten Datenbanken 15 25.02.2005 08:42
Daten in Datenbank ändern PHP Tipps 2005 3 27.01.2005 14:40
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05
Falls Spalte noch nicht vorhanden, anlegen. Wie geht das? Datenbanken 4 03.09.2004 19:12

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sql spalte anlegen, aktuelles datum in spalte hinzufügen plsql, sql spalte hinzufügen, spalten einfügen in mysql, mysql - datum als string in neue spalte einfügen, sql spalte hinzufügen datum, datum in spalte einfügen, daten zu einer spalte hinzufügen, neue daten in einer spalte einfügen mit mysql, php adminbereich daten einfügen, php formular spalte hinzufügen, google formular spalte hinzufügen, sql \spalte einfügen\, sql wann wurde eine spalte angelegt, sql splate anlegen, sql spalte hinzufügen mit datum, sql datenbank spalte passwort anlegen, google formular datum auswählen, sql neue spalte mit aktuellem datum, php zahlen in datenbank speichern

Alle Zeitangaben in WEZ +2. Es ist jetzt 05:39 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.