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.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 01-10-2011, 10:37
webteddy
 Registrierter Benutzer
Links : Onlinestatus : webteddy ist offline
Registriert seit: Jan 2003
Beiträge: 49
webteddy ist zur Zeit noch ein unbeschriebenes Blatt
Standard Komplette MySQL Zeile kopieren

Hallo,

ich hänge gerade richtig fest.

Folgendes Problem:

Ich habe eine Datenbank, die nennt sich z. B. Test

Die Datenbank Test hat folgende Struktur:
id (automatischer Wert)
standard
text_1
text_2
text_3
...bis hin zu text_100...

Wenn ich jetzt eine neue Zeile anlege, will ich, dass sämtliche Inhalte aus der Zeile mit dem Wert 1 bei standard eingetragen wird.

Gibt es eine Möglichkeit, alle Einträge automatisch zu übernehmen, oder muss ich wirklich händisch jeden Wert eintragen?

Ich hoffe, ich habe es verständlich erklärt, falls nicht, dann einfach darauf hinweisen.

Gruß
Sven
Mit Zitat antworten
  #2 (permalink)  
Alt 01-10-2011, 13:24
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist gerade online
Registriert seit: Mar 2008
Beiträge: 3.576
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Vielleicht erklärst du mal, was das überhaupt werden soll. Für mich sieht es auf den ersten Blick nach einem fehlerhaften Datenbankdesign aus. Eine ID darf außerdem keine Bedeutung haben. Dagegen spricht deine Absicht, dass du ID 1 anders behandeln willst.
Mit Zitat antworten
  #3 (permalink)  
Alt 01-10-2011, 13:57
webteddy
 Registrierter Benutzer
Links : Onlinestatus : webteddy ist offline
Registriert seit: Jan 2003
Beiträge: 49
webteddy ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,

die Benennung ID 1 war einfach nur ein Beispiel.

Es geht darum, dass eine Zeile als Standard hinterlegt wird.

Wenn neue Einträge kommen, dann sollen die Werte aus der Zeile, welche mit standard = 1 gekennzeichnet ist, übernommen werden.

Mir geht es jetzt einfach nur darum, ob es möglich ist, eine komplette Zeile zu kopieren (wie z. B., wenn man eine Datei kopiert), oder ob ich eine neue Zeile mit den Werten aus der Standardzeile manuell übertragen muss.

Gruß
Sven
Mit Zitat antworten
  #4 (permalink)  
Alt 01-10-2011, 14:05
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo,

ich versteh dich auch nicht ganz. Kannst du das bitte in einer gängigeren Terminoligie erläutern, damit wir es besser verstehen – Tabelle, Datensatz, Spalte u. s. w. Was du mit Zeile meinst, kann ich nur vermuten. Eigentlich würde ich davon ausgehen, dass ein Datensatz gemeint ist, aber irgendwie hab ich so eine leise Ahnung, dass du damit vielleicht Spalten meinst, was ganz merkwürdig wäre. Daher bitte etwas genauer formulieren.

Gruß,

Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #5 (permalink)  
Alt 01-10-2011, 14:42
webteddy
 Registrierter Benutzer
Links : Onlinestatus : webteddy ist offline
Registriert seit: Jan 2003
Beiträge: 49
webteddy ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,

wenn ich mir meine Beiträge anschaue, sehen die genau so verwirrt aus, wie es in meinem Schädel z. Zt. aussieht.

Ich versuche es mal so zu erläutern:

Ich habe den Auftrag, in meiner Firma im Intranet einen bestimmten Mitarbeiterbereich zu erstellen.

Wenn der Benutzer sich anmeldet, sollen ihm bestimmte Ordner angezeigt werden, wo er seine täglichen Aufträge findet (es ist zwar merkwürdig, aber so ist es nun mal in unserer Firma).

Eigentlich sind es immer wieder die gleichen Ordner, diese können aber täglich leicht abweichen.

Nun habe ich eine Tabelle, wo ich den Benutzer und seine Zugangsdaten speichere.

Jetzt brauche ich eine Tabelle, welche so aussieht:

Code:
CREATE TABLE show_dir (
showdir_id int(11) not null auto_increment,
showdir_memberid int(11) not null default '0',
showdir_standard int(1) not null default '0',
showdir_name_1 varchar(100) not null,
showdir_name_2 varchar(100) not null,
...
showdir_name_30 varchar(100) not null,
PRIMARY KEY ( showdir_id )
) ENGINE=MyISAM;
Es gibt einen einzigen Eintrag, der showdir_standard = 1 hat.

Jetzt muss hier für jeden einzelnen Mitarbeiter ein Eintrag rein.

Aktuell habe ich es so, dass ich den neuen Mitarbeiter anlege, dann wird automatisch ein neuer Eintrag in die Tabelle show_dir angelegt.

Hier müssen aber nun die Ordner eingetragen werden.

Ich suche mir den Standardeintrag raus

PHP-Code:
<?php
$search 
mysql_fetch_array(mysql_query(
              
"SELECT *
               FROM show_dir
               WHERE showdir_standard  = 1
              "
));

// Jetzt werden die Ordner eingetragen
mysql_query(
"INSERT
INTO show_dir
(showdir_memberid,
showdir_name_1,
showdir_name_2,
...
showdir_name_30)
VALUES ('"
$neuer_mitarbeiter ."',
'"
$search['showdir_name_1'] ."',
...)
"
);
?>
Jetzt möchte ich wissen, ob es eine Möglichkeit gibt, den Teil, wo die Ordner eingetragen werden, etwas zu vereinfachen.

Gruß
Sven
Mit Zitat antworten
  #6 (permalink)  
Alt 01-10-2011, 14:51
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Okay, mit deinen show_dir_name_X-Spalten wirst du auf Dauer nicht glücklich werden. Das gehört in eine eigene Tabelle und wenn du das vernünftig umsetzt, werden 70% deines Problems von alleine verschwinden. Um das aber erstmal umzustrukturieren, solltest du dich ein bisschen mit Normalisierung/Normalformen beschäftigen und deine DB-Struktur grundlegend überdenken. Glaub mir, es wird dadurch nach hinten raus alles viel einfacher. Datenbanken sind keine Excel-Tabellen und du musst dich von diesem Denkmuster „alles in eine Tabelle mit ein paar hundert Spalten“ verabschieden.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #7 (permalink)  
Alt 05-10-2011, 01:28
hostbar_danny
 Registrierter Benutzer
Links : Onlinestatus : hostbar_danny ist offline
Registriert seit: Feb 2011
Beiträge: 66
hostbar_danny befindet sich auf einem aufstrebenden Ast
Standard

Auch wenn AmicaNoctis sicherlich recht hat mit dem vermutlich fehlerhaften DB Design, kannst du ein INSERT direkt mit einem SELECT kombinieren.
Code:
INSERT INTO show_dir (...) SELECT ... FROM show_dir WHERE showdir_standard = 1
Die Punkte sind je nachdem welche Felder von dem Standardeintrag übernommen werden soll bzw. dazu kommen soll (Mitarbeiter ID) durch die Spaltenbezeichnern zu ersetzen.

MySQL :: MySQL 5.0 Reference Manual :: 12.2.5.1 INSERT ... SELECT Syntax

Gruß Danny
Mit Zitat antworten
Antwort

Lesezeichen


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
preg_replace komplette Zeile haSta PHP Developer Forum 3 21-01-2006 23:25
INSERT ... SELECT zeile bedingt kopieren frank7l7 SQL / Datenbanken 2 16-01-2006 20:51
Komplette Verzeichnisse kopieren? dani_o Projekthilfe 41 14-12-2005 14:45
komplette Tabelle kopieren jogisarge SQL / Datenbanken 3 18-08-2005 11:02
Komplette Zeile einer Tabelle löschen? steveysenz SQL / Datenbanken 7 13-12-2001 19:08

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 01:24 Uhr.