php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 27-09-2012, 15:26
spongebox
 Registrierter Benutzer
Links : Onlinestatus : spongebox ist offline
Registriert seit: Sep 2012
Beiträge: 4
spongebox befindet sich auf einem aufstrebenden Ast
Standard MySQL INSERT INTO Array Problem

Hallo alle zusammen,
ich brauche mal Eure Hilfe bei einem Problem das ich mit meinem Script habe.
Folgendes habe ich vor, ich lese Datensätze aus einer MySQL Datenbanktabelle aus, packe diese in ein "array" und möchte diese wieder in eine Tabelle speicher.
Hier mal mein Script zum besseren Verständnis.
PHP-Code:
    $sql "SELECT * FROM tabellenname1 WHERE reg_id = $reg_id";
    
$result mysql_query($sql);                            
    while (
$row mysql_fetch_array($result)) {
    
$array = array($uid[] = $row['uid']);
      
$string implode('", "'$uid);
                 
       
$schreiben "INSERT INTO  tabellenname2 (uid) VALUES 
                                                   ('$string')"
;
                                             
$eintragen mysql_query($schreiben)
                                             or die(
mysql_error());

Die "$reg_id" wird in einer $_POST Variable übergeben. In der Tabelle "tabellenname1" stehen 5 User aber bei nur 2 User sollen die "$uid" in das Array geschrieben werden. Das fuktioniert auch soweit auch. Jedoch beim Insert in die neue Tabelle sieht das so aus:
id | uid
1 | 5
2 | 51
Da sollte aber nur:
id | uid
1 | 5
2 | 1
stehen. Für Hilfe und Vorschläge bedanke ich mich schon mal im Voraus.
MfG spongebox
Mit Zitat antworten
  #2 (permalink)  
Alt 27-09-2012, 16:05
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von spongebox Beitrag anzeigen
PHP-Code:
    while ($row mysql_fetch_array($result)) {
    
$array = array($uid[] = $row['uid']);
      
$string implode('", "'$uid); 
Bist du dir im Klaren darüber, was dieser Code bewirkt …?

$uid wird bei jedem Durchlauf ein neuer Wert hinzu gefügt – also enthält es im ersten Durchlauf einen, im zweiten zwei Werte, etc.
Und jedes Mal werden diese Werte, noch innerhalb der Schleife, als neuer Datensatz in die Tabelle eingefügt.

Das scheint nicht das zu sein, was du erreichen willst – also warum programmierst du es so …?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 27-09-2012, 16:12
spongebox
 Registrierter Benutzer
Links : Onlinestatus : spongebox ist offline
Registriert seit: Sep 2012
Beiträge: 4
spongebox befindet sich auf einem aufstrebenden Ast
Standard

Weil ich keine andere Lösung gefunden habe und ich noch nicht so viel Kenntnisse habe das Problem allein zu lösen. Für einen kleinen Schubs in die richtige Richtung wäre ich dankbar!!
Mit Zitat antworten
  #4 (permalink)  
Alt 27-09-2012, 16:53
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Na wofür denn überhaupt das Array, wenn du einfach jeden Datensatz in der Schleife „wieder Speichern“ willst?

(Wobei in normales INSERT kein „wieder Speichern“ darstellt, sondern einen neuen Datensatz generiert.)

Wenn dir das noch nicht reicht – dann beschreibe bitte erst mal genau, was du erreichen willst.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #5 (permalink)  
Alt 27-09-2012, 17:13
spongebox
 Registrierter Benutzer
Links : Onlinestatus : spongebox ist offline
Registriert seit: Sep 2012
Beiträge: 4
spongebox befindet sich auf einem aufstrebenden Ast
Standard

Ich wollte erst mal klein anfangen und verstehen wie es funktioniert. Mein Ziel ist es, aus der Tabelle1 passend zu den $uid = $summe1 und $summe2 auszulesen. Dann rechnen: $summe1/$summe2*$_POST["summe3"]
Dann speichern in Tabelle2
.
PHP-Code:
$reg_id $_POST["reg_id"];
$summe $_POST["summe3"];

    
$sql "SELECT * FROM tabellenname1 WHERE reg_id = $reg_id";
    
$result mysql_query($sql);                            
    while (
$row mysql_fetch_array($result)) {
    
$array = array($uid[] = $row['uid']);
      
$string implode('", "'$uid);
                 
       
$schreiben "INSERT INTO  tabellenname2 (uid) VALUES 
                                                   ('$string')"
;
                                             
$eintragen mysql_query($schreiben)
                                             or die(
mysql_error());

Darum suche ich nach einer Möglichkeit, mein "array" in die passenden Teile zu zerlegen und dann mit Ihnen weiter zu arbeiten. Oder gibt es eine andere Variante??

Geändert von spongebox (27-09-2012 um 17:16 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 27-09-2012, 17:56
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von spongebox Beitrag anzeigen
Darum suche ich nach einer Möglichkeit, mein "array" in die passenden Teile zu zerlegen und dann mit Ihnen weiter zu arbeiten.
Was willst du denn an dieser Stelle überhaupt mit dem Array $array?

Zitat:
Oder gibt es eine andere Variante??
Ja – SQL kann auch direkt innerhalb von Queries rechnen.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #7 (permalink)  
Alt 27-09-2012, 20:43
spongebox
 Registrierter Benutzer
Links : Onlinestatus : spongebox ist offline
Registriert seit: Sep 2012
Beiträge: 4
spongebox befindet sich auf einem aufstrebenden Ast
Standard

Wie gesagt, ich habe nach der besten Möglichkeit gesucht und das gefunden und gedacht das ich das damit geregelt bekomme, bin dann aber schnell an meine Grenzen gekommen. Darum ja auch hier meine Anfrage. Wie das mit dem rechnen in der datenbank funktioniert kenn ich auch noch nicht.
Mit Zitat antworten
  #8 (permalink)  
Alt 27-09-2012, 23:24
Wasser_Wanderer
 Registrierter Benutzer
Links : Onlinestatus : Wasser_Wanderer ist offline
Registriert seit: Aug 2011
Beiträge: 225
Wasser_Wanderer befindet sich auf einem aufstrebenden Ast
Standard

Grundlagen !!
UPDATE = Einen bestehenden Datensatz ändern
INSERT = Einen neuen Datensatz hinzufügen

Diese Info sollte dir helfen
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
LOAD DATA INFILE vs Array + INSERT INTO flo_urlaub SQL / Datenbanken 3 11-01-2006 10:31
Mysql - INSERT INTO Backi PHP Developer Forum 6 05-06-2005 15:14
Mysql problem beim INSERT INTO nasroo PHP Developer Forum 11 16-10-2004 19:34
[MySQL 4.1] Insert Into ?? bigtail SQL / Datenbanken 3 25-01-2004 21:41
mysql Problem mit INSERT INTO kesnw SQL / Datenbanken 1 13-10-2003 11:28

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

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

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


 

Aktuelle PHP Scripte

WeltExplorer v1.0

WeltExplorer v1.0 ist ein Dateimanager zum Browsen und Operieren im Dateisystem. Bei installiertem cURL können Ordner und Dateien zu entfernten FTP-Servern hochgeladen bzw. von diesen heruntergeladen werden, etwa zum Erstellen von Backups oder Mirrorsites

06.02.2019 weltvolk | Kategorie: PHP/ File
PG Job Site Pro

> Job Site Pro - web-basiertes Programm, auf PHP/MySQL für Erstellung der funktionellen Job Board Site gebaut. Das hat erweitertes Management-System für Arbeitssuchenden und Arbeitgeber und kann für bestimmte Länder, Regionen oder einfach generelle Job Si

05.02.2019 submit@ | Kategorie: PHP/ Management
ModuleStudio ansehen ModuleStudio

Modellgetriebene Entwicklung von Erweiterungen für das Open Source Framework Zikula.

15.01.2019 Guite | Kategorie: PHP ENTWICKLUNGSUMGEBUNG
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:49 Uhr.