| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | Hvordan erstatter udskifter jeg tabelindho~ Fra : Anders | 
  Dato :  20-02-06 23:54 |  
  |   
            Jeg prøver at lave en funktion, så medlemmerne af en forening kan ændre 
 deres oplysninger, der er gemt i mysql. Men hvordan få man den til at 
 gemme ændringer? jeg prøver med denne linie, men det virker ikke
 
 mysql_query("REPLACE INTO medlemmer WHERE id=$id (navn, efternavn, 
 telefon1, mobil, email, barn, adgangskode) VALUES ('$navn', 
 '$efternavn', '$telefon1', '$mobil', '$email', '$barn', '$nykode') OR 
 DIE(mysql_error)");
 
 id bliver fundet, jeg kan få den udskrevet. Jeg har også prøvet at bytte 
 rundt på WHERE parametret. ingenting hjælper! Nogen der kender svaret?
 
 Anders!
 nyt<snabela>@kaosfoto.com
  
            
             |   |   
            
        
 
            
         
           Anders (21-02-2006) 
         
	
            | Kommentar Fra : Anders | 
  Dato :  21-02-06 00:02 |  
  |   
            Anders wrote:
 > Jeg prøver at lave en funktion, så medlemmerne af en forening kan ændre 
 > deres oplysninger, der er gemt i mysql. Men hvordan få man den til at 
 > gemme ændringer? jeg prøver med denne linie, men det virker ikke
 > 
 > mysql_query("REPLACE INTO medlemmer WHERE id=$id (navn, efternavn, 
 > telefon1, mobil, email, barn, adgangskode) VALUES ('$navn', 
 > '$efternavn', '$telefon1', '$mobil', '$email', '$barn', '$nykode') OR 
 > DIE(mysql_error)");
 > 
 > id bliver fundet, jeg kan få den udskrevet. Jeg har også prøvet at bytte 
 > rundt på WHERE parametret. ingenting hjælper! Nogen der kender svaret?
 > 
 > Anders!
 > nyt<snabela>@kaosfoto.com
 
 Glemte at sige, at jeg får ikke nogle fejlmeddelelser!
  
            
             |   |   
            
        
 
            
         
           Erik Ginnerskov (21-02-2006) 
         
	
            | Kommentar Fra : Erik Ginnerskov | 
  Dato :  21-02-06 00:25 |  
  |  
 
            Anders wrote:
 > Jeg prøver at lave en funktion, så medlemmerne af en forening kan
 > ændre deres oplysninger, der er gemt i mysql. Men hvordan få man den
 > til at gemme ændringer? jeg prøver med denne linie, men det virker
 > ikke
 Uden at gå ind i kodning, vil jeg foreslå, at du laver en formular, som
 indlæser data fra den udpegede post i databasen (udvalgt ved medlemmets
 login) i de dertil indrettede indtastningsfelter. Når medlemmet så har
 foretaget de ønskede rettelser og trykker Submit, bliver data i databasen
 overskrevet.
 Jeg har lavet nogle eksperimenter med en gæstebog, hvor det kunne gøres -
 bortset fra at data her ligger i en txt-fil og at kun administrator har den
 adgang. Men princippet må være det samme:
 http://hjemmesideskolen.dk/files/phptxtgb.zip
-- 
 Med venlig hilsen
 Erik Ginnerskov
 http://hjemmesideskolen.dk -  http://ginnerskov.dk
http://html-faq.dk/
            
             |   |   
            
        
 
            
         
           Simon Rasch 9640 (21-02-2006) 
         
	
            | Kommentar Fra : Simon Rasch 9640 | 
  Dato :  21-02-06 00:51 |  
  |   
            
 UPDATE medlemmer set navn='$navn', efternavn='$efternavn' WHERE id=$id
 
 tilføj selv tlf email osv efter samme princip
 
 Mvh
 Simon Rasch
 
 
 "Anders" <nyt@kaosfoto.com> skrev i en meddelelse 
 news:43fa488a$0$78283$157c6196@dreader1.cybercity.dk...
 > Jeg prøver at lave en funktion, så medlemmerne af en forening kan ændre 
 > deres oplysninger, der er gemt i mysql. Men hvordan få man den til at 
 > gemme ændringer? jeg prøver med denne linie, men det virker ikke
 >
 > mysql_query("REPLACE INTO medlemmer WHERE id=$id (navn, efternavn, 
 > telefon1, mobil, email, barn, adgangskode) VALUES ('$navn', '$efternavn', 
 > '$telefon1', '$mobil', '$email', '$barn', '$nykode') OR 
 > DIE(mysql_error)");
 >
 > id bliver fundet, jeg kan få den udskrevet. Jeg har også prøvet at bytte 
 > rundt på WHERE parametret. ingenting hjælper! Nogen der kender svaret?
 >
 > Anders!
 > nyt<snabela>@kaosfoto.com 
 
 
  
            
             |   |   
            
        
 
            
         
           Leif Neland (21-02-2006) 
         
	
            | Kommentar Fra : Leif Neland | 
  Dato :  21-02-06 14:28 |  
  |   
            Anders wrote:
 > Jeg prøver at lave en funktion, så medlemmerne af en forening kan
 > ændre deres oplysninger, der er gemt i mysql. Men hvordan få man den
 > til at gemme ændringer? jeg prøver med denne linie, men det virker
 > ikke
 > mysql_query("REPLACE INTO medlemmer WHERE id=$id (navn, efternavn,
 > telefon1, mobil, email, barn, adgangskode) VALUES ('$navn',
 > '$efternavn', '$telefon1', '$mobil', '$email', '$barn', '$nykode') OR
 > DIE(mysql_error)");
 >
 > id bliver fundet, jeg kan få den udskrevet. Jeg har også prøvet at
 > bytte rundt på WHERE parametret. ingenting hjælper! Nogen der kender
 > svaret?
 
 OR DIE er ikke en del af mysql-queriet, men php-kode.
 Så dit query har fejl, men "or die" bliver aldrig set af php.
 Og så skal WHERE være til sidst.
 
 Så ved at klippe din sætning ud og sætte den sammen igen, får jeg:
 
 mysql_query("REPLACE INTO medlemmer  (navn, efternavn,
  telefon1, mobil, email, barn, adgangskode) VALUES ('$navn',
  '$efternavn', '$telefon1', '$mobil', '$email', '$barn', '$nykode')
 WHERE id=$id)
  or die(mysql_error());
 
 Men den gør ikke hvad du ønsker!
 
 Det er fordi REPLACE INTO fungerer lige som INSERT INTO, bortset fra at de 
 records, der har samme unikke nøgler først slettes før den ny record sættes 
 ind.
 Så i dit tilfælde, hvis vi antager at id er en unik nøgle, så, da du ikke 
 har 'id' i de felter, du replacer, vil den eksisterende række være uændret, 
 og du får lavet en ny række med index null, eller en ny id, hvis id er 
 autoincrement.
 
 Alle de felter, der ikke er er sat til noget, får ikke en værdi; du "arver" 
 ikke noget fra den eksisternde record.
 
 Hvis du vil bruge REPLACE INTO, skal du angive samtlige felter, incl 
 nøglefeltet.
 Og så er det ikke nødvendigt at bruge WHERE.
 
 Ellers skal du bruge
 UPDATE tabelnavn
     SET felt='$værdi',felt='$værdi'....
     WHERE id='$id'
 
 Og opfat så lige ovennævnte som pseudokode...
 
 Leif
 
 
  
            
             |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |