Avatar billede hyggelig75 Juniormester
21. august 2019 - 19:10 Der er 9 kommentarer

sql php hjælpe opdater sql

Hvorfor vil min php ikke opdater min sql ???

<h1>Opdater tæve</h1>
<?php
$status = "";
if(isset($_POST['new']) && $_POST['new']==1)
{
$love_id=$_REQUEST['id'];
$userid=$_REQUEST['userid'];


$navn=$_REQUEST['navn'];
$stamnummer=$_REQUEST['stamnummer'];
$farve=$_REQUEST['farve'];
$sundhed1=$_REQUEST['sundhed1'];
$sundhed=$_REQUEST['sundhed'];
$resulater=$_REQUEST['resulater'];
$AK=$_REQUEST['AK'];
               
$bedstefar=$_REQUEST['bedstefar'];
$bedstefar_stamnummer=$_REQUEST['bedstefar_stamnummer'];
$bedstefar_farve=$_REQUEST['bedstefar_farve'];
$bedstefar_sundhed1=$_REQUEST['bedstefar_sundhed1'];
$bedstefar_resulater=$_REQUEST['bedstefar_resulater'];
$bedstefar_AK=$_REQUEST['bedstefar_AK'];
               
$bedstemor=$_REQUEST['bedstemor'];
$bedstemor_stamnummer=$_REQUEST['bedstemor_stamnummer'];
$bedstemor_farve=$_REQUEST['bedstemor_farve'];
$bedstemor_sundhed1=$_REQUEST['bedstemor_sundhed1'];
$bedstemor_resulater=$_REQUEST['bedstemor_resulater'];
$bedstemor_AK=$_REQUEST['bedstemor_AK'];
               
$oldefar=$_REQUEST['oldefar'];
$oldefar_stamnummer=$_REQUEST['oldefar_stamnummer'];
$oldefar_farve=$_REQUEST['oldefar_farve'];
$oldefar_resulater=$_REQUEST['oldefar_resulater'];
$oldefar_AK=$_REQUEST['oldefar_AK'];
               
$oldemor=$_REQUEST['oldemor'];
$oldemor_stamnummer=$_REQUEST['oldemor_stamnummer'];
$oldemor_farve=$_REQUEST['oldemor_farve'];
$oldemor_resulater=$_REQUEST['oldemor_resulater'];
$oldemor_AK=$_REQUEST['oldemor_AK'];
               
$oldeoldefar=$_REQUEST['oldeoldefar'];
$oldeoldefar_stamnummer=$_REQUEST['oldeoldefar_stamnummer'];
$oldeoldefar_farve=$_REQUEST['oldeoldefar_farve'];
$oldeoldefar_resulater=$_REQUEST['oldeoldefar_resulater'];
$oldeoldefar_AK=$_REQUEST['oldeoldefar_AK'];
               
$oldeoldemor=$_REQUEST['oldeoldemor'];
$oldeoldemor_stamnummer=$_REQUEST['oldeoldemor_stamnummer'];
$oldeoldemor_farve=$_REQUEST['oldeoldemor_farve'];
$oldeoldemor_resulater=$_REQUEST['oldeoldemor_resulater'];
$oldeoldemor_AK=$_REQUEST['oldeoldemor_AK'];


$update="update doglist set navn='".$navn."',stamnummer='".$stamnummer."',farve='".$farve."',sundhed='".$sundhed1."',sundhed1='".$sundhed."',resulater='".$resulater."',AK='".$AK."',bedstefar='".$bedstefar."',bedstefar_stamnummer='".$bedstefar_stamnummer."',bedstefar_farve='".$bedstefar_farve."',bedstefar_sundhed1='".$bedstefar_sundhed1."',bedstefar_resulater='".$bedstefar_resulater."',bedstefar_AK='".$bedstefar_AK."',bedstemor='".$bedstemor."',bedstemor_stamnummer='".$bedstemor_stamnummer."',bedstemor_farve='".$bedstemor_farve."',bedstemor_sundhed1='".$bedstemor_sundhed1."',bedstemor_resulater='".$bedstemor_resulater."',bedstemor_AK='".$bedstemor_AK."',oldefar='".$oldefar."',oldefar_stamnummer='".$oldefar_stamnummer."',oldefar_farve='".$oldefar_farve."',oldefar_resulater=='".$oldefar_resulater."',oldefar_AK='".$oldefar_AK."',oldemor='".$oldemor."',oldemor_stamnummer='".$oldemor_stamnummer."',oldemor_farve='".$oldemor_farve."',oldemor_resulater='".$oldemor_resulater."',oldemor_AK='".$oldemor_AK."',oldeoldefar='".$oldeoldefar."',oldeoldefar_stamnummer='".$oldeoldefar_stamnummer."',oldeoldefar_farve='".$oldeoldefar_farve."',oldeoldefar_resulater='".$oldeoldefar_resulater."',oldeoldefar_AK='".$oldeoldefar_AK."',oldeoldemor='".$oldeoldemor."',oldeoldemor_stamnummer='".$oldeoldemor_stamnummer."',oldeoldemor_farve='".$oldeoldemor_farve."',oldeoldemor_resulater='".$oldeoldemor_resulater."',oldeoldemor_AK='".$oldeoldemor_AK."' where love_id='".$love_id."'";
mysqli_query($link, $update) or die(mysqli_error());
$status = "Record Updated Successfully. </br></br><a href='stambogshunderegister.php'>View Updated Record</a>";
echo '<p style="color:#FF0000;">'.$status.'</p>';
}else {
?>


<form name="form" method="post" action="">
<input type="hidden" name="new" value="1" />
<input name="love_id" type="hidden" value="<?php echo $row['love_id'];?>" />
<input name="userid" type="hidden" value="<?php echo $row['userid'];?>" />
<label>navn:</label></br>
<input type="text" name="navn" placeholder="navn"  required value="<?php echo $row['navn'];?>" /></br></br>
<label>stambogs nummer:</label></br>
<input type="text" name="stamnummer" placeholder="stamnummer"  required value="<?php echo $row['stamnummer'];?>" /></br></br>
<label>farve:</label></br>
<input type="text" name="farve" placeholder="farve"  required value="<?php echo $row['farve'];?>" /></br></br>
<label>sundhed:</label></br>
<input type="text" name="sundhed1" placeholder="sundhed1"  required value="<?php echo $row['sundhed1'];?>" /></br></br>
<label>nationale resulater:</label></br>
<input type="text" name="sundhed" placeholder="sundhed"  required value="<?php echo $row['sundhed'];?>" /></br></br>
<label>internationale resulater:</label></br>
<input type="text" name="resulater" placeholder="resulater"  required value="<?php echo $row['resulater'];?>" /></br></br>
<label>AK:</label></br>
<input type="text" name="AK" placeholder="AK"  required value="<?php echo $row['AK'];?>" /></br></br>
osv osv
Avatar billede claes57 Ekspert
21. august 2019 - 20:05 #1
Hvis du nu lavede en database, så ville tæve og alle andre have hver sin post. I dem indgår så id-numre på deres forældre, og så har du alle data uden at skulle opdatere vildt.
forældre-hunde har igen id-numre til deres forældre, så du kan (hvis du har data) gå 10 generationer tilbage uden den omstændige kodning med redundante data https://ordnet.dk/ddo/ordbog?query=redundans
Så - alle hunde skal have en entydig id, og den bruges til at linke mellem forældre og afkom.
Hver hund har altså en 'moder' og en 'fader' og det er så det - det er rigeligt til at finde data på alle hunde i generationer. Skal det være, så kan du lave en tabel med 'moder', 'fader', 'afkom' og det kan så give 5 til mange poster - men en hund linker kun som afkom til en post, og der findes forældre - og ud fra dem kan søskende findes (ægte og uægte).
Avatar billede hyggelig75 Juniormester
21. august 2019 - 20:36 #2
claes57 alt det der har jeg styr på *S* der er både lave til hvalpe afkom og så vider *S* men min proglem er at denne her ikke opdater til sql hvorfor ved jeg ikke , for u min user og hvalpe data base kan jeg sagten opdater men ikke i den her ...nogle ider til hvorfor jeg ikke kan ??
Avatar billede michael_stim Ekspert
22. august 2019 - 08:59 #3
Lav lidt "debug" i din kode. En echo i din if, en echo i din else, echo SQL osv.
Avatar billede claes57 Ekspert
22. august 2019 - 09:16 #4
er det med vilje, at du bytter om på sundhed og sundhed1?
$update="update doglist set navn='".$navn."',stamnummer='".$stamnummer."',farve='".$farve."',sundhed='".$sundhed1."',sundhed1='".$sundhed."'
Avatar billede olsensweb.dk Ekspert
22. august 2019 - 16:23 #5
hvilke fejl får du ??
har du slået error_reporting og display error til ?? hvis ikke!! gør det
står der det i din $update du forvendter ?? (echo den ud)


og som claes57 skriver i #1, du skal ændre din tabel struktur
ref https://www.computerworld.dk/eksperten/spm/1029023?k=8329735
CREATE TABLE `tbl_hunde` (
  `id` int(11) NOT NULL,
  `name` text COLLATE utf8_danish_ci NOT NULL,
  `dhl_nummer` text COLLATE utf8_danish_ci NOT NULL COMMENT 'skal måske være en int',
  `user_id` int(11) NOT NULL COMMENT 'skulle måske hedde ejer id',
  `mother_id` int(11) NOT NULL,
  `father_id` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci;

og så mangler der selv felter til race, farve, og nogle andre småting, som er gældende for en hund

så er det bare nogle sql kald på resultatet, med henholdsveis mor_id og far_id i where betingelsen og gentage dette med de nye resultater

eller ennu bedre, kig på rekursivt kald hvis du skal længere tilbage i stamtræet
https://www.google.com/search?q=mysql+recursive+call
https://www.google.com/search?q=php+recursive+call
Avatar billede hyggelig75 Juniormester
23. august 2019 - 12:07 #6
har slået erro reporting til og den siger der ikke er nogel fejl og den viser osse det der skal skrive til sql men den opdater det ikke i sql
Avatar billede hyggelig75 Juniormester
23. august 2019 - 12:11 #7
her er resulatatet:

har brugt.
echo "<pre>";
print_r($_REQUEST);
echo "</pre>";

Array
(
    [id] => 19
    [new] => 1
    [love_id] => 19
    [navn] => navn skal stå her
    [stamnummer] => stamnummer
    [farve] => farve
    [sundhed1] => sundhed
    [sundhed] => nationale resulater
    [resulater] => internationale resulater
    [AK] => AK
    [bedstefar] => bedstefar
    [bedstefar_stamnummer] => bedstefar_stamnummer
    [bedstefar_farve] => bedstefar_farve
    [bedstefar_sundhed1] => sundhed
    [bedstefar_resulater] => nationale resulater
    [bedstefar_AK] => AK
    [bedstefar_sundhed] => internationale resulater
    [bedstemor] => bedstemor
    [bedstemor_stamnummer] => bedstemor_stamnummer
    [bedstemor_farve] => bedstemor_farve
    [bedstemor_sundhed1] => sundhed
    [bedstemor_resulater] => nationale resulater
    [bedstemor_AK] => AK
    [bedstemor_sundhed] => nationale resulater
    [oldefar] => oldefar
    [oldefar_stamnummer] => oldefar_stamnummer
    [oldefar_farve] => oldefar_farve
    [oldefar_resulater] => oldefar_resulater
    [oldefar_AK] => AK
    [oldemor] => oldemor
    [oldemor_stamnummer] => oldemor_stamnummer
    [oldemor_farve] => oldemor_farve
    [oldemor_resulater] => oldemor_resulater
    [oldemor_AK] => AK
    [oldeoldefar] => oldeoldefar
    [oldeoldefar_stamnummer] => oldeoldefar_stamnummer
    [oldeoldefar_farve] => oldeoldefar_farve
    [oldeoldefar_resulater] => oldeoldefar_resulater
    [oldeoldefar_AK] => AK
    [oldeoldemor] => oldeoldemor
    [oldeoldemor_stamnummer] => oldeoldemor_stamnummer
    [oldeoldemor_farve] => oldeoldemor_farve
    [oldeoldemor_resulater] => oldeoldemor_resulater
    [oldeoldemor_AK] => AK
    [submit] => Opdater Bruger
)
Avatar billede michael_stim Ekspert
23. august 2019 - 12:38 #8
Men du har ikke echoet din SQL. Hvordan ser din SQL ud?
Avatar billede hyggelig75 Juniormester
23. august 2019 - 14:30 #9
Men du har ikke echoet din SQL. Hvordan ser din SQL ud?...... ok hvordan gør jeg det ??
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester