phpbar.de logo

Mailinglisten-Archive

[php] mysql Datenbank umsetzen

[php] mysql Datenbank umsetzen

Burkhard Stollenwerk futurefarm at futurefarm.de
Mon Feb 23 01:36:28 CET 2004


Hallo ,

habe Fehler gefunden
War falsche Angabe bei Variablen
Bleibt die Frage wie kann ich localhostdatenk und Livedatenbank zusammen
nutzen?


<?
include "inc/open.inc.php";
mysql_select_db('ALK_GIS', $conn);
$sql="SELECT * FROM alkobj_pl";

$result=mysql_query($sql,$conn);
$nutzer=$HTTP_GET_VARS['nutzer'];
$karte=$HTTP_GET_VARS['karte'];
if ($nutzer=="") die(); // Falls kein Nutzer angegen Abbruch
if (!$karte) $karte='1'; // Wahl der Standardkarte , falls keine Angabe
$nutzer=1;
$karte=1;

// 1:1 Umsetzung der tabelle alkobj_pl(Datenbank "ALK_GIS" --->
"futurefarm")
if ($result) {
 while ($row=mysql_fetch_object($result))
 {
  echo $row->ObjNr."<br>";
  mysql_select_db('futurefarm', $conn);
  $query2="select * from alkobj_pl where ObjNr='".$row->ObjNr."';"; //
Prüfung auf Vorhandensein
  $rs2=mysql_query($query2, $conn);

  if (mysql_num_rows($rs2)>0) // Falls vorhanden updaten
  {
   $sqlcmd='UPHATE alkobj_pl SET';
   $where='WHERE ObjNr='.$row->ObjNr;

$what='ObjNr="'.$row->ObjNr.'",'.'Folie="'.$row->Folie.'",'.'ObjArt="'.$row-
>ObjArt.'",'.'ObjAktu="'.$row->ObjAktu.'",'.'ObjR="'.$row->ObjR.'",'.'ObjH="
'.$row->ObjH.'",'.'ObjGeom="'.$row->ObjGeom.'",'.'Bemerkungr="'.$row->Bemerk
ung.'" ';
   $query=$sqlcmd.$what.$where;
  }
  else // Nicht vorhanden updaten und in tabelle beziehungnutzer
Zugehörigkeit zum Nutzer erstellen(mehrere Nutzer können auf gleiche
Datensätze zugreifen
  {

   $query='INSERT INTO alkobj_pl
VALUES("'.$row->ObjNr.'","'.$row->Folie.'","'.$row->ObjArt.'","'.$row->ObjAk
tu.'","'.$row->ObjR.'","'.$row->ObjH.'","'.$row->ObjGeom.'","'.$row->Bemerku
ng.'")';
   echo ">".$query;// sieht leider leer aus ->INSERT INTO alkobj_pl
VALUES("","","","","","","","")

   $queryBezNutz='INSERT INTO beziehungnutzer (ObjNr,nutzer,karte)
VALUES("'.$row->ObjNr.'","'.$nutzer.'","'.$karte.'")';
   $rs3=mysql_query($queryBezNutz, $conn);

  }

  $rs4=mysql_query($query, $conn);


  mysql_select_db('ALK_GIS', $conn);

 }
}
?>
----- Original Message -----
From: <php-request at phpbar.de>
To: <php at phpbar.de>
Sent: Sunday, February 22, 2004 12:00 PM
Subject: php Nachrichtensammlung, Band 8, Eintrag 48


> Um Emails an die Liste php zu schicken, schicken Sie diese an die
> Adresse
> php at phpbar.de
>
> Um sich via Web von der Liste zu entfernen oder draufzusetzen:
> http://lists.phpbar.de/mailman/listinfo/php
> oder, via Email, schicken Sie eine Email mit dem Wort 'help' in
> Subject/Betreff oder im Text an
> php-request at phpbar.de
>
> Sie koennen den Listenverwalter dieser Lister unter der Adresse
> php-owner at phpbar.de
> erreichen
>
> Wenn Sie antworten, bitte editieren Sie die Subject/Betreff auf einen
> sinnvollen Inhalt der spezifischer ist als "Re: Contents of php
> digest..."
>
>
> ** Digest der deutschsprachigen PHP-Mailingliste **
> ** php::bar - Der Treffpunkt fuer Einsteiger und Profis
> ** http://www.phpbar.de
>
>
>
> Meldungen des Tages:
>
>    1. Re: php Nachrichtensammlung, Band 8, Eintrag 47
>       (Burkhard Stollenwerk)
>    2. OT:mysql (Burkhard Stollenwerk)
>    3. Datumstring von Formularfeld in DB (Christian Vosen)
>    4. Re: OT:mysql (Andreas Ahlenstorf)
>    5. Re:Umsetzen einer mysql DB (Burkhard Stollenwerk)
>    6. Re: Re: php Nachrichtensammlung, Band 8, Eintrag 47
>       (Norbert Pfeiffer)
>    7. Re: Fällt Datum in Zeitraum X? (Norbert Pfeiffer)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Sat, 21 Feb 2004 23:43:13 +0100
> From: "Burkhard Stollenwerk" <futurefarm at futurefarm.de>
> Subject: [php] Re: php Nachrichtensammlung, Band 8, Eintrag 47
> To: <php at phpbar.de>
> Message-ID: <008001c3f8cc$17401b80$9945fea9 at o6l0a3>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Danke Jochem,
>
> Dann sollte es wohl eher so aussehen, aber funktioniert auch nicht
> SELECT ObjNr,ObjGeom,ObjArt FROM alkobj_pl where folie='001'
> LEFT JOIN beziehungnutzer USING
> (ObjNr) WHERE  nutzer='1'
>
> Bekomme immer noch Fehlermeldung
>
> Burkhard
>
>
> ------------------------------
>
> Message: 2
> Date: Sat, 21 Feb 2004 23:47:25 +0100
> From: "Burkhard Stollenwerk" <futurefarm at futurefarm.de>
> Subject: [php] OT:mysql
> To: <php at phpbar.de>
> Message-ID: <008401c3f8cc$ad850a60$9945fea9 at o6l0a3>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Hallo
>
> bekomme den folgenden mysql Fehler Column:"ObjNr' in field is ambiguous
>
> Burkhard
>
> ------------------------------
>
> Message: 3
> Date: Sun, 22 Feb 2004 00:02:40 +0100
> From: "Christian Vosen" <vosen at ecco-marketing.de>
> Subject: [php] Datumstring von Formularfeld in DB
> To: <php at phpbar.de>
> Message-ID: <000001c3f8ce$d4a83250$10b7fea9 at mawcenter>
> Content-Type: text/plain; charset="iso-8859-1"
>
> N'Abend!
>
> Ich weiß nicht, ob das vielelicht eher eine mysql-Frage ist, aber
> vielleicht kann mir trotzdem jemand auf die Sprünge helfen.
>
> Ich habe ein kleines Newsscript geschrieben, dass in einem Formularfeld
> das Datum beinhalten soll.
> Als Hilfe für den Redakteur gebe ich dem Feld schon den Wert über
> echo date("d.m.Y")
> vor und deklariere das Formularfeld schreibgeschützt.
> Wenn ich den Artikel nun speichern will und an die mySQL-DB übergebe,
> möchte ich das Datum in einem DB-Feld der Art "DATE" speichern.
> Für neue Artikel löse ich das über
> INSERT INTO news SET date=NOW(),titel = '$headline',news = '$textfeld'
> "; Ich greife also eigentlich gar nicht auf das Formularfeld "datum" zu.
>
> Wenn ich jetzt aber mal nicht das aktuelle Datum für den Artikel (z.B.
> beim Editieren des Artikels) benutzen möchte, sondern ein anderes, dann
> liegt mir doch ein String vor, den ich in irgendeiner Form wieder ins
> mySQL-Datumsformat zurückwandeln muss, damit er korrekt in die DB
> eingetragen wird. Nur wie mache ich das?
>
> Gruß
> Christian
>
> ------------------------------
>
> Message: 4
> Date: Sun, 22 Feb 2004 00:14:06 +0100
> From: Andreas Ahlenstorf <lists at ahlenstorf.ch>
> Subject: Re: [php] OT:mysql
> To: deutschsprachige PHP-Mailingliste <php at phpbar.de>
> Message-ID: <262931328.20040222001406 at ahlenstorf.ch>
> Content-Type: text/plain; charset=us-ascii
>
> Hallo,
>
> Burkhard Stollenwerk schrieb am Samstag, 21. Februar 2004 um 23:47:
>
> > bekomme den folgenden mysql Fehler Column:"ObjNr' in field is ambiguous
>
> Wenn du von zwei Tabellen selektierst und dort die Felder gleich
> heissen, musst du angeben, welches genau gemeint ist. Entweder
> Tabellennamen oder Alias voranstellen.
>
> Gruss,
> Andreas
>
>
>
> ------------------------------
>
> Message: 5
> Date: Sun, 22 Feb 2004 00:29:23 +0100
> From: "Burkhard Stollenwerk" <futurefarm at futurefarm.de>
> Subject: [php] Re:Umsetzen einer mysql DB
> To: <php at phpbar.de>
> Message-ID: <008801c3f8d2$8ae52700$9945fea9 at o6l0a3>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Hallo,
>
> zuerst mal zum Hintergrund:
> Bekomme durch eine extrerne Software  DB mit mehreren Tabellen geliefert
für
> einen Nutzer
> muss diese dann an den Liveserver übertragen.
> Es sollen dann diese Daten mit bestehnden abgeglichen werden.
> Die abgeglichene Datenbank enthält gleiche Felder , aber die Datensätze
> mehrerer Kunden.
> Es können durchaus mehrere Kunden die gleichen Geodaten verlangen.
> Die sollten natürlich nicht doppelt vorkommen.
> Gleichzeitig halte ich fest welche Kennung , übrigends bei allen Tabellen
> gleiches Feld (Obj_Nr), welche Nutzer auf welche Daten zugreifen können.
> AUf diese weise kann ich die ursprüngliche Struktur (von der Software
> geliefert) beibehaltenm, und vermeide doppelte Einträge.
> Kann sie dann per
> $sql="SELECT * FROM alkobj_pl LEFT JOIN beziehungnutzer USING(ObjNr) where
> nutzer='$nutzer' and folie IN ('$folie')";
> auslesen.
>
>
> also bislang kommt dieser ANsatz am nächsten: (Denke es geht noch
einfacher,
> oder?)
>
> Bin nun gespannt auf Eure ANtworten
>
> Burkhard Stollenwerk
>
>   $query2="select * from hn_kunden.hn_kartenleser where
userid='".$id."';";
>     $rs2=mysql_query($query2, $dbconnect);
>     mysql_error();
> if (mysql_num_rows($rs2)>0) {$sqlcmd='update '; $where=' where
> userid='.$id; } else $sqlcmd='insert into ';
>
>     $query=$sqlcmd." hn_kunden.hn_kartenleser set
> bestellt='".$frm["bestellt"]."', seriell='".$frm["seriell"]."',
> usb='".$frm["usb"]."', geliefert='".$frm["geliefert"]."',
> zugestellt='".$frm["zugestellt"]."', sendetyp='".$frm["sendetyp"]."',
> lschein='".$frm["lschein"]."', userid='".$frm["id"]."' ".$where.";";
>     $rs1=mysql_query($query, $dbconnect);
>      mysql_error();
>
>
>
> ------------------------------
>
> Message: 6
> Date: Sun, 22 Feb 2004 00:44:07 +0100
> From: "Norbert Pfeiffer" <norbert at itbw.de>
> Subject: Re: [php] Re: php Nachrichtensammlung, Band 8, Eintrag 47
> To: "deutschsprachige PHP-Mailingliste" <php at phpbar.de>
> Message-ID: <005e01c3f8d4$9b05a720$2401a8c0 at npf>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Hi Burkhard,
>
> > Bekomme immer noch Fehlermeldung
> das finde ich auch voellig okay ... ;-)
>
> Ein Select ueber mehrere Tabellen sieht
> prinzipiell so aus:
>
> SELECT tb1.ObjNr, tb1.ObjGeom, tb2.ObjArt
>  FROM alkobj_pl AS tb1
>  LEFT JOIN beziehungnutzer AS tb2
>  ON tb1.ObjNr = tb2.ObjNr
>  WHERE folie = '001'
>    AND nutzer = '1';
>
> D.h. man muss zu jedem Feldnamen den Tabellenbezug
> angeben, da es sonst zu Unklarheiten kommt.
> Hinter ON steht dann die Bedingung zur Filterung des
> Kreutzproduktes der verwendeten Tabellen.
> Im Anschlus folgen die ueblichen Optionen wie
> GROUP BY, WHERE, ORDER BY oder LIMIT
>
>
> m. b. G. Norbert
> _____________________
> normal:  02686-987103
> Notruf:  0177-2363368
> ---------------------
> e.o.m.
>
>
> ------------------------------
>
> Message: 7
> Date: Sun, 22 Feb 2004 01:13:31 +0100
> From: "Norbert Pfeiffer" <norbert at itbw.de>
> Subject: Re: [php] Fällt Datum in Zeitraum X?
> To: "deutschsprachige PHP-Mailingliste" <php at phpbar.de>
> Message-ID: <007b01c3f8d8$c94d0c00$2401a8c0 at npf>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Hi Alex,
>
> Du wolltest das unabhaengig von der Jahreszahl,
> dann musst Du den Code noch etwas erweitern:
> <?
> $DT = array('21.02','31.03','11.05','27.06');
> $firstday = '24.03';
> $last_day = '05.06';
>
> function dayofyear($str) {
>   $AA = explode('.',$str);
>   $AA[2] = date('Y', time());
>   $tm = mktime(0,0,0,$AA[1],$AA[0],$AA[2]);
>   return date('z', $tm);
> }
>
> foreach($DT as $dat) {
>   $ad = (dayofyear($dat) >= dayofyear($firstday));
>   $ed = (dayofyear($dat) <= dayofyear($last_day));
>   echo $dat.' - '.(($ad && $ed) ? "JA\n" : "nein\n");
> }
> ?>
>
>
> m. b. G. Norbert
> _____________________
> normal:  02686-987103
> Notruf:  0177-2363368
> ---------------------
> e.o.m.
>
>
> ------------------------------
>
> --
> php mailing list
> php at phpbar.de
> http://lists.phpbar.de/mailman/listinfo/php
>
>
> Ende php Nachrichtensammlung, Band 8, Eintrag 48
> ************************************************
>


php::bar PHP Wiki   -   Listenarchive