Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Per PHP Inhalt, Datensatz kopieren und anderer ID zuweisen

Mitglied: LuckyLuke

LuckyLuke (Level 1) - Jetzt verbinden

17.04.2008, aktualisiert 14.05.2008, 3639 Aufrufe, 2 Kommentare

Guten Morgen,

ich habe vor eine Komforteigenschaft in mein Intranet-Datenbankmodul einzubauen.
Hierbei handelt es sich um eine Produktdatenbank, die Parameterwerte beinhaltet. Da manche Produkte bis auf zwei Werte unterschiedlich sind, möchte ich folgende Komfortfunktion implementieren:
- Produkt auswählen --> Inhalte kopieren --> 2tes Produkt auswählen --> Inhalte einfügen
Theoretisch ist dies einfach. Die Inhalte müssen in ein Array geschrieben werden und dann anschließend bspw. über eine Foreach-Schleife ausgelesen und der jeweiligen ID zugewiesen werden.
Ich habe mal im Manual recherchiert und nach einem Duplicate-Befehl gesucht, jedoch vergebens bzw. nicht bei mir anwendbar.
Hat jemand von euch eine ähnliche Funktion bereits versucht?
Denkanstöße sind herzlich willkommen, denn es gibt viele Wege, wie man dies lösen kann.

Gruß, Lucky.
Mitglied: BennyR
08.05.2008 um 09:35 Uhr
Ich bin mir nicht sicher ob ich dein Problem richtig verstehe aber vielleicht hilft dir das:

INSERT INTO produkt_param (`id`,`produkt_id`,`wert`) SELECT NULL,neue_produkt_id=xxx,wert FROM produkt_param WHERE produkt_id = kopiere_von_dieser_id;

Zur Erklärung:
NULL weil du wahrscheinlich den primary key `id` automatisch setzt.

Sonst macht der Befehl folgendes:
Er erstellt für jeden Datensatz einer id `kopiere_von_dieser_id` einen neuen Datensatz mit der Produkt ID mit dem Wert 'xxx'
Bitte warten ..
Mitglied: LuckyLuke
14.05.2008 um 09:19 Uhr
Moin BennyR,

danke für deinen Beitrag. Habe inzwischen eine eigene Version probiert zu erstellen.
Auf der ersten Seite wird das zu kopierende Produkt und das leere Produkt, dass die gleichen Werte enthalten soll, ausgewählt.
So siehts im Code aus:

Datei 1

01.
<?
02.
$res=mysql_db_query("datenbank_edv",   "SELECT prdNr, prdZusatz, gefuellt, id FROM edv_produkte ORDER BY prdNr");
03.
while($row=mysql_fetch_array($res,MYSQL_NUM))
04.
{
05.
    $pr_nrn[]=$row[0];
06.
	$pr_nrn_zu[]=$row[1];
07.
	$pr_fertig[]=$row[2];
08.
	$pr_id[]=$row[3];
09.
	
10.
	
11.
	if(isset($_GET['copy_produkt']) && $_GET['copy_produkt']==$row[0].$row[1])
12.
	{
13.
		$zeige_copy_produkt=$row;
14.
	}
15.
}
16.
 
17.
 
18.
echo '
19.
<select name="copy_produkt" onchange="document.produktwahl.submit()">
20.
<option value="-1">Bitte wählen</option><option value="-1"></option>';
21.
$test=0;
22.
	for($z=0;$z<count($pr_nrn);$z++)
23.
    {
24.
        if(isset($_GET['copy_produkt']) && $_GET['copy_produkt']==$pr_nrn[$z].$pr_nrn_zu[$z])
25.
        {
26.
			if($test!=$pr_nrn[$z].$pr_nrn_zu[$z])
27.
	        {
28.
                echo '<option value="'.$pr_nrn[$z].$pr_nrn_zu[$z].'" selected>'.$pr_nrn[$z].$pr_nrn_zu[$z].'</option>';
29.
            }
30.
		}
31.
		
32.
		else
33.
        {
34.
			if($test!=$pr_nrn[$z].$pr_nrn_zu[$z])
35.
			{
36.
				if($pr_fertig[$z]=="1")
37.
				{
38.
					echo '<option value="'.$pr_nrn[$z].$pr_nrn_zu[$z].'" style="background: #B9C5E3">'.$pr_nrn[$z].$pr_nrn_zu[$z].'</option>';
39.
				}
40.
				else
41.
				{
42.
					echo '<option value="'.$pr_nrn[$z].$pr_nrn_zu[$z].'">'.$pr_nrn[$z].$pr_nrn_zu[$z].'</option>';
43.
				}
44.
			}
45.
		}
46.
		$test=$pr_nrn[$z].$pr_nrn_zu[$z];
47.
    }
48.
echo '</select></form>';
49.
 
50.
if(isset($zeige_copy_produkt))
51.
{		
52.
	echo'<input type="hidden" name="prd_nr[]" value="'.$_GET['copy_produkt'].'">';
53.
	echo'Klicken Sie auf "<strong>Werte übernehmen</strong>" damit das Produkt '.$_GET['copy_produkt'].' gefüllt werden kann.';
54.
	echo'<br /><br />';
55.
	echo '<input type="submit" name="copy" value="Werte übernehmen" />';
56.
}
57.
?>
Datei 2

01.
<?
02.
error_reporting(E_ALL);
03.
// Verbindungsdaten zur Datenbank und deren Datenbanktabellen \\
04.
	require("../../../db.inc.php");
05.
// ********************************************************** \\										
06.
 
07.
//var_dump($_POST['produkt_1']);
08.
$prd_1 = $_POST['produkt_1'];
09.
$prd_2 = $_POST['produkt_2'];
10.
 
11.
 
12.
if(isset($_POST['copy']))
13.
{
14.
	if($prd_1=="-1")
15.
	{
16.
		echo "<strong>Bitte wählen Sie das Produkt aus, dessen Parameterwerte kopiert werden sollen!</strong><br>";
17.
	}
18.
	else
19.
	{
20.
		$query = "SELECT prdid, parameterwert FROM prd_parawert WHERE prd_parawert.prdid='".$prd_1."'";
21.
		$result= mysql_query($query) or die (mysql_error());
22.
		while($row_1=mysql_fetch_array($result,MYSQL_ASSOC))
23.
		{	
24.
			if($prd_2=="-1")
25.
			{
26.
				echo "<br><strong>Bitte wählen Sie das Produkt aus, in das die Parameterwerte kopiert werden sollen!</strong>";
27.
			}
28.
		}
29.
			$query = "SELECT prdid, parameterwert FROM prd_parawert WHERE prd_parawert.prdid='".$prd_2."'";
30.
			$result=mysql_query($query) or die (mysql_error()); 
31.
			while($row_2=mysql_fetch_array($result,MYSQL_ASSOC)) 
32.
			{
33.
				$query_in = "INSERT INTO prd_parawert ($row_2[parameterwert])
34.
								SELECT $row_1[parameterwert] FROM prd.parawert WHERE $row_1[prdid] = $row_2[prdid]";
35.
				$result=mysql_query($query_in); 
36.
				echo "<br><br><strong>Kopiervorgang beendet.</strong>";
37.
			}
38.
	}
39.
}
40.
?>
Problem
**
Es gibt weder eine Fehlermeldung noch eine Aktion in der Datenbank.
Wo könnte der Wurm liegen?


Gruß, Luke.
Bitte warten ..
Ähnliche Inhalte
PHP
PHP und MAX id bzw. LAST INSERT ID
gelöst Frage von ProtectedPHP8 Kommentare

Hallo, ich benötige die Letzte ID von der Tabelle xy. Leider kann ich LAST_INSERT_ID nicht verwenden, weil kein INSERT ...

PHP

PHP-MySQL - mysqli liefert einen Datensatz zu wenig

gelöst Frage von Windows-SpielerPHP3 Kommentare

Hallo zusammen, ich habe eine einfache (und nicht normalisierte) Tabelle in MySQL mit dem Namen "elemente". In dieser befinden ...

PHP

PHP Tabellen automatisch nach Gruppen ID aus MYSQL erstellen

Frage von KyrinjaPHP8 Kommentare

Hallo liebe Gemeinde, ich sitze z.Z an einer Fahrzeugübersicht für unsere Feuerwehr. Hier würde ich gerne Tabellen dynamisch je ...

Microsoft Office

Serienbrief Nächster Datensatz Wenn

Frage von Druide83Microsoft Office2 Kommentare

Hallo, ist das erste mal dass ich mit Serienbriefen in Word zu tun habe und mir fehlt auch nur ...

Neue Wissensbeiträge
Windows Server
Anzahl von Gruppenrichtlinien
Erfahrungsbericht von Bullii vor 4 StundenWindows Server

Hallo, mich interessiert brennend, wieviele Gruppenrichtlinienobjekte, ihr so bei euch habt? Ich versuchte eigentlich immer die Gruppenrichtlinienobjekte soweit wie ...

iOS
WatchChat für Whatsapp
Tipp von Criemo vor 8 StundeniOS

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor !!!
Tipp von Criemo vor 20 StundeniOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Off Topic
Avengers 4: Endgame - Erster Trailer
Information von Frank vor 3 TagenOff Topic2 Kommentare

Ich weiß es ist Off Topic, aber ich freue mich auf diesen Film und vielleicht geht es anderen hier ...

Heiß diskutierte Inhalte
Exchange Server
Exchange Server 2010: Keine Eingehenden E-MAils
gelöst Frage von gabeBUExchange Server17 Kommentare

Hallo Zusammen Ich habe das kurzen auf dem Exchange 2010 Server das Problem, dass ich keine externen E-Mails mehr ...

Server
Server in zwei verschiedene Netzwerke einbinden
gelöst Frage von BennyFServer13 Kommentare

Hallo zusammen, bei uns im Haus sind im Erdgeschoss die Geschäftsräume und ab dem 1. Stock sind unsere privaten ...

Windows Netzwerk
Kerio. Kann keine Mails empfangen aber senden. Wer ist schuld. Kerio oder Windows domäne?
Frage von frosch2Windows Netzwerk11 Kommentare

Hallo, es existiert ein Problem bei uns mit dem mailen. Alle bestehenden Nutzer können mailen. Raus wie rein. Neuen ...

Netzwerkmanagement
Ticketsystem für eine Kommune gesucht
gelöst Frage von akovisNetzwerkmanagement11 Kommentare

Ich suche aktuell ein Ticketsystem für eine Kleinstadt von 13000 Einwaohnern. Das System soll alle Anfragen aus verschiedenen Kanälen ...