kroekkete Skrevet 26. mai 2004 Del Skrevet 26. mai 2004 (endret) Hei igjen, kloke hoder. Dette er en oppfølging til problemet Finne et tall i en streng (PHP og MySQL) Nå er det like før jeg kneler... Grunnen til at jeg sliter er fordi jeg vil lage neste/tilbake-knapper som kun blar i de radene som er tilknyttet den innloggede brukeren. Detaljer: Jeg har en tabell, med rader lagt inn fra flere brukere. For å skape en identifikasjon som skiller radene lagt inn av Ola med de som er lagt inn av Kari ønsker jeg et felt i tabellen som ser slik ut: (Jeg har kalt det "brukerindeks") ola11111 ola11112 ola11113 kari11111 ola11114 kari11112 kari11113 osv osv... Dette har jeg fått hjelp til her tidligere, så det virker, ved at det hentes ut siste registrerte verdi, som så blir oppdatert med én. Så til det jeg ikke får til: Hva med den første registreringen? Hva hvis Ola prøver å registrere noe for første gang? Da er det jo ingen "sist registrert verdi" jeg kan hente ut og øke med én... Det jeg forsøker på nå er å hente basen, sjekke om feltet brukerindeks har verdi, for så, hvis det ikke har verdi, å legge inn en kombinasjon av $_session[brukernavn] og tallet 11111 Tilsynelatende enkelt, ikke sant? Vel, tydeligvis ikke for meg... Er det noen som orker å kaste et blikk på koden under og kanskje fortelle meg hva som er galt? På forhånd TUUUSEN TAKK FOR HJELPEN! Edit: Her er hva jeg ønsker, satt i system: Utgangspunktet er at Ola skal registrere $data som en rad i en tabell, og raden skal ha en numerisk identifikasjon som er knyttet opp mot Ola. Dette feltet kalles brukerindeks. Hent tabell Sjekk om Ola har registrert noe i tabellen tidligere Hvis nei { Slå sammen $brukernavn og 11111 Legg $data og $brukernavn11111 inn i tabellen} (I dette tilfellet; ola11111) Hvis ja { Velg (fra tabellen) brukerindeks med høyest verdi, og som er knyttet til Ola. (F.eks ola11117) Øk verdien av brukerindeks med 1 (Blir da ola11118) Legg $data og ola11118 inn i tabellen} Send Ola tilbake til forsiden Under ser dere koden jeg sliter med i dag: <?php $brukernavn=($_SESSION ['brukernavn']); $dato =(date("Y.m.d")); include ("kobletilbase.php"); /* Dette kjøres først, for å sjekke om feltet brukerindeks har blitt tildelt verdi tidligere */ $sql = "SELECT indeks, brukerindeks, brukernavn FROM tab4 WHERE brukernavn='{$_SESSION['brukernavn']}' ORDER BY indeks desc LIMIT 1"; $sql_resultat = mysql_query($sql); while ($arr=mysql_fetch_array($sql_resultat)){ /* Hvis feltet brukerindeks ikke har fått tildelt noen verdi oppdateres feltet. */ if (empty($arr['brukerindeks'])) { include ("kobletilbase.php"); $first=11111; $bindeks=($brukernavn.$first); $sql3 = "INSERT INTO tab4 (innhold, overskrift, dato_opprettet, brukernavn, passord, brukerindeks) VALUES ('$innhold', '$overskrift', '$dato', '$brukernavn', '$passord', '$bindeks')"; mysql_query($sql3); echo mysql_errno($databaseforbindelse) . ": " . mysql_error($databaseforbindelse). "\n"; header('Location: http://inter.net/overordnet.php'); } else { $bindeks= $arr['brukerindeks']; for($i = 0; $i <= strlen($bindeks); $i++) { if(is_numeric(substr($bindeks,$i))) { $tall = substr($bindeks,$i); $tall--; $string = substr($bindeks,0,$i) . $tall; break; } } $sql2 = "INSERT INTO tab4 (innhold, overskrift, dato_opprettet, brukernavn, passord, brukerindeks) VALUES ('$innhold', '$overskrift', '$dato', '$brukernavn', '$passord', '$string')"; mysql_query($sql2); header('Location: http://inter.net/overordnet.php'); } } ?> Endret 27. mai 2004 av primaxx Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå