tjumsen Skrevet 12. mars 2017 Del Skrevet 12. mars 2017 jeg har litt problem med og laget et skript slik jeg ønsker . jeg har 2 tabeller - bruker tabell og plass tabell id idbrukernavn sted sted jeg trenger hjelp med og sortere desse inn på 1 siden . jeg ønsker det litt mer slik som dette . Sted : Brukernavn brukernavn nytt sted: brukernavn brukernavn at brukerene blir sortert etter sted . .noen så kan hjelpe meg med dette ? Lenke til kommentar
Crowly Skrevet 12. mars 2017 Del Skrevet 12. mars 2017 Kan løses på forskjellige måter, f.eks. ved å mellomlagre i en multi dimentional array: Noe ala dette // hent fra db: SELECT ... FROM tabell ORDER BY sted, brukernavn $data = database-oppslag-her; $sortedData = []; // organiser foreach ($data as $d) { $place = $d['sted']; $sortedData[$place][] = $d['brukernavn']; } // output foreach ($sortedData as $place => $userNames) { echo '<h3>' . $place . '</h3>'; foreach ($userNames as $userName) { echo '<div>' . $userName . '</div>'; } } 1 Lenke til kommentar
tjumsen Skrevet 12. mars 2017 Forfatter Del Skrevet 12. mars 2017 (endret) Kan løses på forskjellige måter, f.eks. ved å mellomlagre i en multi dimentional array: Noe ala dette // hent fra db: SELECT ... FROM tabell ORDER BY sted, brukernavn $data = database-oppslag-her; $sortedData = []; // organiser foreach ($data as $d) { $place = $d['sted']; $sortedData[$place][] = $d['brukernavn']; } // output foreach ($sortedData as $place => $userNames) { echo '<h3>' . $place . '</h3>'; foreach ($userNames as $userName) { echo '<div>' . $userName . '</div>'; } } jeg testet denne men jeg fikk ikke noe resultat med denne . bare blank skjerm Endret 12. mars 2017 av tjumsen Lenke til kommentar
Crowly Skrevet 12. mars 2017 Del Skrevet 12. mars 2017 Har du bare kopiert og limt den inn som den er? Eller har du gjort nødvendige modifikasjoner for å hente data fra databasen? At du bare får blank skjerm betyr at feilmeldinger ikke er slått på, legg til dette i toppen av fila error_reporting(E_ALL); ini_set('display_errors', 1); Lenke til kommentar
tjumsen Skrevet 12. mars 2017 Forfatter Del Skrevet 12. mars 2017 (endret) Har du bare kopiert og limt den inn som den er? Eller har du gjort nødvendige modifikasjoner for å hente data fra databasen? At du bare får blank skjerm betyr at feilmeldinger ikke er slått på, legg til dette i toppen av fila error_reporting(E_ALL); ini_set('display_errors', 1); Warning: Invalid argument supplied for foreach() in /Applications/MAMP/htdocs/2017/mrfl/test.php on line 15 $data = mysql_query( " SELECT sted, firma FROM `fotograf` ORDER BY sted, firma " ); jeg har bare endret denne linjen $data = mysql_query( " SELECT sted, firma FROM `fotograf` ORDER BY sted, firma " ); $sortedData = []; // organiser foreach ($data as $d) { $place = $d['sted']; $sortedData[$place][] = $d['firma']; } // output foreach ($sortedData as $place => $userNames) { echo '<h3>' . $place . '</h3>'; foreach ($userNames as $userName) { echo '<div>' . $userName . '</div>'; } } Endret 12. mars 2017 av tjumsen Lenke til kommentar
Crowly Skrevet 12. mars 2017 Del Skrevet 12. mars 2017 IKKE bruk mysql funksjonene, de er utdaterte, bruk mysqli. Har du fulgt en guide må du finne noe av nyere dato. mysqli_query returnerer en resource, du må bruke f.eks mysqli_fetch_assoc() for å få data du kan bruke til noe matnyttig. 1 Lenke til kommentar
tjumsen Skrevet 12. mars 2017 Forfatter Del Skrevet 12. mars 2017 jess tusen takk for hjelpen da virket det Lenke til kommentar
tjumsen Skrevet 14. mars 2017 Forfatter Del Skrevet 14. mars 2017 sikkert enkelt men jeg lurer på hvordan jeg kan få frem ID sammen med firma navnet . jeg har fått til at alle navnet kommer opp men ikke ID . jeg får du frem den siste ID som ligger i listen hva kan jeg gjør med det ? <?php error_reporting(E_ALL); ini_set('display_errors', 1); $con=mysqli_connect("localhost","root","root","****"); // Check connection if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } // hent fra db: SELECT ... FROM tabell ORDER BY sted, brukernavn $sql="SELECT * FROM fotograf ORDER BY sted, firma "; $data = mysqli_query($con,$sql); $sortedData = []; // organiser foreach ($data as $d) { $place = $d['sted']; $id = $d['id']; $sortedData[$place][] = $d['firma']; } // output foreach ($sortedData as $place => $userNames) { echo '<h3>' . $place . '</h3>'; foreach ($userNames as $userName) { echo '<div><p><a href="fotograf.php?id='. $id .'"><strong>' . $userName . ' </strong></a></div>'; } } ?> Lenke til kommentar
Crowly Skrevet 14. mars 2017 Del Skrevet 14. mars 2017 Når du organiserer dataene som blir ikke id med foreach ($data as $d) { $place = $d['sted']; $sortedData[$place][] = $d; } Hva du gjør i output delen får blir "hjemmelekse" Litt hjelp, midlertidig legg til echo '<pre>' . print_r($sortedData, true) . '</pre>'; før // output for å se hvordan $sortedData ser ut. For å pirke litt, ikke bruk SELECT * med mindre du skal ha med alle felt, der er bedre å spesifisere de feltene du trenger. Å skrive ut database feilmeldinger ( mysqli_connect_error() ) til skjerm kan være ett sikkerhetsproblem, da feilmeldingen kan vise informasjon du ikke ønsker å vise. Men dette ser ut som ett lære prosjekt, og da er ikke det like viktig, men greit å være klar over. Lenke til kommentar
tjumsen Skrevet 15. mars 2017 Forfatter Del Skrevet 15. mars 2017 jeg fant en litt annen vri på denne . 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å