|  | 		    
					
        
         
          
         
	
          | |  | fjern video fra video liste Fra : scootergrisen
 | 
 Dato :  13-09-10 09:00
 | 
 |  |  |  |  | 
  Birger Sørensen (15-09-2010) 
 
	
          | |  | Kommentar Fra : Birger Sørensen
 | 
 Dato :  15-09-10 16:32
 | 
 |  | 
 
            scootergrisen skrev:
 > Jeg har en side som viser videoer fra blandt andet youtube.
 >
 > Man kan så gå direkte til en video ved for eksempel at skrive :
 > http://scootergrisen.dk/scooterhjemmeside/videoer.php?1 > http://scootergrisen.dk/scooterhjemmeside/videoer.php?2 > http://scootergrisen.dk/scooterhjemmeside/videoer.php?3 > osv
 >
 > Men af og til bliver de her videoer jo slettet fra youtube også vil
 > jeg også gerne have dem slettet fra min liste.
 >
 > Her er et eksempel :
 >
 > $underholdningdatabase = array(
 > array('http://www.youtube.com/v/KHH7qm99Hbo'       , '', 'karrusel'),
 > array('http://www.youtube.com/v/ccxuaxGc9Uk'       , '', 'styrt'),
 > array('http://www.youtube.com/v/i8Pmx105_tk'       , '', 'hej hus')
 > );
 >
 > Lad os sige den midterste video i listen er blevet fjernet fra youtube
 > så vil jeg også gerne fjerne den fra min liste men altså uden at det
 > ændre på nummerne.
 > 1 skal stadig være 1 og 3 skal stadig være 3.
 >
 > Den midste video skal nu bare være tom og samtidig skal det virke når
 > jeg trykker frem og tilbage på pilene for at skifte mellem videoerne.
 >
 > Hvis vi er ved video nummer 1 så skal den vide at video nummer 2 ikke
 > virker og der skal pilen til næste video altså pege på nummer 3.
 >
 > Håber i forstår.
 Hvordan får du den oprindelige liste?
 Hvordan er sammenhængen mellem pilene og dit array?
 Hvordan effektueres et klik på en pil til en visning?
 Hvad er pointen med at opretholde nummereringen?
 Erstat det døde link med noget du kan genkende i dit program - $ f.eks 
 - og brug det til helt enkelt at vælge det næste link.
 Birger
 -- 
http://varmeretter.dk  - billig, sund og hurtig mad
http://bbsorensen.dk |  |  | 
  Ronny Olsen (15-09-2010) 
 
	
          | |  | Kommentar Fra : Ronny Olsen
 | 
 Dato :  15-09-10 22:45
 | 
 |  | 
 
            Den 13-09-2010 16:59, scootergrisen skrev:
 > Jeg har en side som viser videoer fra blandt andet youtube.
 >
 > Man kan så gå direkte til en video ved for eksempel at skrive :
 > http://scootergrisen.dk/scooterhjemmeside/videoer.php?1 > http://scootergrisen.dk/scooterhjemmeside/videoer.php?2 > http://scootergrisen.dk/scooterhjemmeside/videoer.php?3 > osv
 >
 > Men af og til bliver de her videoer jo slettet fra youtube også vil
 > jeg også gerne have dem slettet fra min liste.
 >
 > Her er et eksempel :
 >
 > $underholdningdatabase = array(
 > array('http://www.youtube.com/v/KHH7qm99Hbo'       , '', 'karrusel'),
 > array('http://www.youtube.com/v/ccxuaxGc9Uk'       , '', 'styrt'),
 > array('http://www.youtube.com/v/i8Pmx105_tk'       , '', 'hej hus')
 > );
 >
 > Lad os sige den midterste video i listen er blevet fjernet fra youtube
 > så vil jeg også gerne fjerne den fra min liste men altså uden at det
 > ændre på nummerne.
 > 1 skal stadig være 1 og 3 skal stadig være 3.
 >
 > Den midste video skal nu bare være tom og samtidig skal det virke når
 > jeg trykker frem og tilbage på pilene for at skifte mellem videoerne.
 >
 > Hvis vi er ved video nummer 1 så skal den vide at video nummer 2 ikke
 > virker og der skal pilen til næste video altså pege på nummer 3.
 >
 > Håber i forstår.
 som Birger skriver
  >Hvordan får du den oprindelige liste?
  >Hvordan er sammenhængen mellem pilene og dit array?
 du har ikke i vidste code nogle relation mellem dit formodet id 
 1,2,3..147, og dit array
 jeg har prøvet at ligge det ind i arrayet, og danne en idliste ud fra dette.
 du er kan lave en idliste, og have et idindex
 princippet er det overførte id feks 140, finder det i idlisten og den 
 posiotion tildeler du variablen idindex så vil next video bare værer 
 idlist[idindex+1] og forige video idlist[idindex-1]
 der er så en lille opgave start / slut array hvor forige video skal 
 sættes til $idlist[$lng-1]
 og hvor next video skal sættes til $idlist[0]
 jeg ville nok ikke lave $underholdningdatabase, men trække det direkte 
 fra databasen
 <?php
 session_start();
 // $server = "http://scootergrisen.dk/scooterhjemmeside/"; // $server = "http://localhost/test/video/";    $server = "http://olsensweb.dk/test/ng/video/";   // bør være en tabel i database, hvilke det vel også er, baseret på 
 "underholdningdatabase"
    $underholdningdatabase = array(
       array('147', 'http://www.youtube.com/v/KHH7qm99Hbo'       , '', 
 'karrusel'),
       //array('146', 'http://www.youtube.com/v/ccxuaxGc9Uk'       , '', 'styrt'),
       //array('145', 'http://www.youtube.com/v/ccxuaxGc9Uk'       , '', 'styrt'),
       array('144', 'http://www.youtube.com/v/ccxuaxGc9Uk'       , '', 'styrt'),
       array('143', 'http://www.youtube.com/v/i8Pmx105_tk'       , '', 'hej hus')
    );
    // idlisten laves selvføgelig med et sql kald, men kan også  laves ud 
 fra underholdningdatabase
    $idlist = array();
    $lng = count($underholdningdatabase);
    for($i=0; $i<$lng; $i++){
       $idlist[] = $underholdningdatabase[$i][0];
    }
    if(isset($_SESSION['IDINDEX'])){
       $idindex = $_SESSION['IDINDEX'];
       $uri_array = parse_url($_SERVER['REQUEST_URI']);
       $sendid = $uri_array['query']; // den sendte id
       // find index i listen på¥ sendid, og sæt denne til idindex
       $idindex = array_search($sendid, $idlist);
    }
    else{
       $idindex = 0;
    }
    $_SESSION['IDINDEX'] = $idindex;
    // $lng = count($idlist); // det sammen som $underholdningdatabase
    $prev_video = (($idindex - 1) < 0)? $idlist[$lng-1] : $idlist[$idindex 
 - 1];
    $next_video = (($idindex + 1) >= $lng)? $idlist[0] : $idlist[$idindex + 
 1];
    // henter data på udvalgte film, bør være fra database
    $videodata = $underholdningdatabase[$idindex];
 ?>
 jeg har lavet en eks baseret på din side, hvor jeg anvender 
 $underholdningdatabase, med tilføgelse af "id"
 live demo findes her http://olsensweb.dk/test/ng/video/videoer.php  ,
 og source coden  her http://olsensweb.dk/test/ng/video/video.zip -- 
 Med Venlig Hilsen
 Ronny Olsen
http://olsensweb.dk |  |  | 
  scootergrisen (18-09-2010) 
 
	
          | |  | Kommentar Fra : scootergrisen
 | 
 Dato :  18-09-10 15:49
 | 
 |  | Tak for jeres svar.
 Nu har jeg siddet i 2 dage og arbejdet på det ud fra den kode Ronny
 skrev og tak for eksemplet det må da også have taget noget tid.
 Jeg tror jeg har fået det hele tiden til virke som jeg vil have det nu
 selvom jeg ikke forstår hele koden.
 
 Tænkte på også at lave det så man kan linke til en video med noget
 tekst istedet for kun tal sådan at man har en ide om hvad videoen
 handler om blot ved at læse linket.
 
 For eksempel at..
 
 videoer.php?madass_riviera_stunt_riders
 
 ....går til samme video som...
 
 videoer.php?143
 
 
 
 |  |  | 
  scootergrisen (18-09-2010) 
 
	
          | |  | Kommentar Fra : scootergrisen
 | 
 Dato :  18-09-10 19:12
 | 
 |  | 
 
            Nu har jeg lavet så man også kan linke til en video med for eksempel :
 videoer.php?karrusel
 Men så kan jeg ikke have samme titel på flere videoer ligesom her:
 $links = array(
 array('116', 'http://www.youtube.com/v/iRasoZMirRc',  '', 'karrusel'),
 array('6',   'http://www.youtube.com/v/KHH7qm99Hbo',  '', 'karrusel')
 );
 Er der nogen indbygget funktion i php så man kan teste om jeg bruger
 samme titel mere end 1 gang i et multidimensionelt array ?
 Jeg ved at med array_unique() kan man slette elementer som findes mere
 end 1 gang.
 Indtil videre bruger jeg denne kode.
 $alletitler[] = array();
 foreach($links as $link){
    $alletitler[] = $link[3];
 }
 if(array_unique($alletitler) != $alletitler){
    echo "Der er titler som er ens";
 }
            
             |  |  | 
  Ronny Olsen (19-09-2010) 
 
	
          | |  | Kommentar Fra : Ronny Olsen
 | 
 Dato :  19-09-10 19:51
 | 
 |  | 
 
            Den 19-09-2010 03:11, scootergrisen skrev:
  >Men så kan jeg ikke have samme titel på flere videoer
 du kunne jo gører som du gør med "nye dæk 1" "nye dær 2",
 jeg kan se du har taget højde for mellemrum i navn, men ikke for æøå
 OK  (4) hej hus      
 Nej (9) Knap så god til at køre på baghjul
 Nej (138) Björkenäs Mopedmuseum
 hvad med store/små bogstaver, nogle kopierer teksten,  andre skriver 
 den, men ikke nødvendigvis med sammen case
 det kunne man godt vælge at afgrænse, og sige det tager man ikke hensyn til
 eks.
http://scootergrisen.dk/scooterhjemmeside/videoer.php?Hej  hus
 her er lidt code finder dubletter
    function SortMultiArray($data){ // ikke  & foran da jeg IKKE vil ændre 
 org data
       // http://dk.php.net/array_multisort  Example #3 Sorting database results
       // Obtain a list of columns
       foreach ($data as $key => $row) {
          $col0[$key] = $row[0];
          $col1[$key] = $row[1];
          $col2[$key] = $row[2];
          $col3[$key] = $row[3];      
       }
       // make it case insensitive, virker med æøå
       $array_lowercase = array_map('strtolower', $col3);
       // array_multisort, kan ikke sorterer på æøå
       array_multisort($array_lowercase, SORT_ASC,  $data);
       return $data;
    }
   
    function CheckNavneSammenfald(&$ar, $lng){ // & foran her for at spare 
 recurser, da det er en pointer til org data, og jeg ændre den ikke
       $tmpar = SortMultiArray($ar);
       for($i=0; $i<$lng; $i++){
          $str1 = $tmpar[$i][3];
          $str2 = $tmpar[$i+1][3];
          if($str1 == $str2){
             $data[] = $tmpar[$i];
             $data[] = $tmpar[$i+1];            
          }         
       }      
       return $data;
    }
    $underholdningdatabase = array(
       array('147', 'http://www.youtube.com/v/KHH7qm99Hbo'       , '', 
 'karrusel'),
       array('146', 'http://www.youtube.com/v/ccxuaxGc9Uk'       , '', 'styrt'),
       array('145', 'http://www.youtube.com/v/ccxuaxGc9Uk'       , '', 'styrt'),
       array('144', 'http://www.youtube.com/v/ccxuaxGc9Uk'       , '', 'styrt'),
       array('143', 'http://www.youtube.com/v/i8Pmx105_tk'       , '', 'hej hus')
    );
    $lng = count($underholdningdatabase);
   
    $status = CheckNavneSammenfald($underholdningdatabase, $lng);
    $statuslng = count($status);
    if ($statuslng){
       echo "der er navnesammenfald ";
       print_r($status);
    }
 jeg har lavet en del andre ting om i php delen af coden
http://olsensweb.dk/test/ng/video/video_array.zip og lavet en sql vertion, ikke helt opdateret ennu
http://olsensweb.dk/test/ng/video/video_sql.zip -- 
 Med Venlig Hilsen
 Ronny Olsen
http://olsensweb.dk |  |  | 
  scootergrisen (19-09-2010) 
 
	
          | |  | Kommentar Fra : scootergrisen
 | 
 Dato :  19-09-10 16:46
 | 
 |  | 
 
            >  >Men så kan jeg ikke have samme titel på flere videoer
 > du kunne jo gører som du gør med "nye dæk 1" "nye dær 2",
 Jeg har ikke noget imod at kaldes dem "nye dæk 1" og "nye dæk 2".
 Det jeg mente var hvis man kom til at give 2 videoer den samme titel
 så skulle det gerne give en form for fejl besked sådan at jeg kunne
 rette det.
 For ellers ville den første fundne video med den titel bare blive vist
 selvom der var flere end 1 video med den titel.
 Tænkte bare om der var en indbygget funktion i PHP så det var let at
 teste om der var 2 med samme titler.
 Men det virker vist fint nok som jeg vil have det nu.
 > jeg kan se du har taget højde for mellemrum i navn, men ikke for æøå
 >
 > OK  (4) hej hus        
 > Nej (9) Knap så god til at køre på baghjul
 > Nej (138) Björkenäs Mopedmuseum
 Jeg mener da jeg at har taget højde for æøå men det kan godt være du
 ikke har prøvet min nyeste kode endnu men prøv for eksempel :
http://scootergrisen.dk/scooterhjemmeside/videoer.php?knap_sa_god_til_at_kore_pa_baghjul > hvad med store/små bogstaver, nogle kopierer teksten,  andre skriver
 > den, men ikke nødvendigvis med sammen case
 Alt efter ? skal være med småt.
 Jeg har lige rette koden så dette også virker :
http://scootergrisen.dk/scooterhjemmeside/videoer.php?KNAP_sa_god_til_at_KORE_Pa_baghjuL Så det lige meget hvor case der bliver skrivet i.
 Jeg prøver og kigge på din kode men tror faktisk det hele virker som
 jeg vil have det nu.
            
             |  |  | 
  Ronny Olsen (20-09-2010) 
 
	
          | |  | Kommentar Fra : Ronny Olsen
 | 
 Dato :  20-09-10 11:59
 | 
 |  | 
 
            Den 20-09-2010 00:45, scootergrisen skrev:
  >Det jeg mente var hvis man kom til at give 2 videoer den samme titel 
 så skulle det gerne give en form for fejl besked sådan at jeg kunne 
 rette det.
 det får du også her
 [cut]
 $status = CheckNavneSammenfald($underholdningdatabase, $lng);
 $statuslng = count($status);
 if ($statuslng){
 echo "der er navnesammenfald ";
 print_r($status);
 }
 [/cut]
 den bør selvføgelig ikke dumpe det til skærm men til fil, da brugerne 
 ikke skal se det, og der vil selvføgelig komme en række hver gang siden 
 bliver vist :(
  >Jeg mener da jeg at har taget højde for æøå men det kan godt være du 
 ikke har prøvet min nyeste kode endnu men prøv for eksempel : 
http://scootergrisen.dk/scooterhjemmeside/videoer.php?knap_sa_god_til_at_kore_pa_baghjul jeg prøvede koden kort før jeg skrev indlægget, men ikke med mellemrun 
 lavet om til underscore, og ø->o å->a, jeg skrev dette 
http://scootergrisen.dk/scooterhjemmeside/videoer.php?Knap  så god til at 
 køre på baghjul
 men jeg kan se du skriver det som om det skal være en link, brugeren 
 skal så bare kende aliaset, du har også ændret url, så alias vises når 
 man klikke på linket i listen
  >Jeg har lige rette koden så dette også virker : 
http://scootergrisen.dk/scooterhjemmeside/videoer.php?KNAP_sa_god_til_at_KORE_Pa_baghjuL Så det lige meget hvor case der bliver skrivet i.
 JA, det virker
  >Jeg prøver og kigge på din kode
 god fornøjelse :)
  >men tror faktisk det hele virker som jeg vil have det nu
 det er det vigtigste
 -- 
 Med Venlig Hilsen
 Ronny Olsen
http://olsensweb.dk |  |  | 
  scootergrisen (19-09-2010) 
 
	
          | |  | Kommentar Fra : scootergrisen
 | 
 Dato :  19-09-10 18:01
 | 
 |  | Er der egentligt overhovedet nogen fordel ved at bruge SQL i dette
 tilfælde ?
 Vil det ikke kun gå langsommere hvis den skal forbinde til en SQL
 server hver gang ?
 Jeg har ville bruge SQL til nogle andre sider på min hjemmeside men
 jeg fandt aldrig ud af hvordan jeg lavede det som jeg ville ha det så
 opgav det. Men fik da lært noget af det.
 Men så opretter jeg en ny tråd hvis jeg vil prøve og igang med at
 flytte min data over i SQL istedet for at have det inden i mine PHP
 filer.
 
 
 |  |  | 
  Ronny Olsen (20-09-2010) 
 
	
          | |  | Kommentar Fra : Ronny Olsen
 | 
 Dato :  20-09-10 12:00
 | 
 |  | 
 
            Den 20-09-2010 02:01, scootergrisen skrev:
  >Er der egentligt overhovedet nogen fordel ved at bruge SQL i dette 
 tilfælde ?
 ud over data vil være lettere at dele på tværs af projecter, 
 indsætte/slette felter (du har et tomt felt, array(id, link, 'TOMT', 
 titel) ), og man kan spare noget hukommelse, ved ikke at skulle have 
 hele det fler dimitionale array i hukommelsen, men kun hente de data der 
 er behov for
 det kunne være du på sigt skulle grupperer dine data, og nogle kunne 
 tilhører flerer katagorier
 katagorier:
 stunt (52,53, 92) (92 knap så meget stunt, men ideen er der)
 dyr (26, 90,91,92,93)
 tblflash
 id link, titel
 tblkatagori      
 id navn      
 tbl_s_kart_flash
 id katagoriid flashid
  >Vil det ikke kun gå langsommere hvis den skal forbinde til en SQL 
 server hver gang ?
 det er selvføgelig en ulempe, man vil aldrig kunne konkurerer med alt 
 ligger klar i hukommelsen, men det er en afvejelse
 -- 
 Med Venlig Hilsen
 Ronny Olsen
http://olsensweb.dk |  |  | 
  scootergrisen (20-09-2010) 
 
	
          | |  | Kommentar Fra : scootergrisen
 | 
 Dato :  20-09-10 08:05
 | 
 |  | > det kunne være du på sigt skulle grupperer dine data, og nogle kunne
 > tilhører flerer katagorier
 > katagorier:
 > stunt (52,53, 92) (92 knap så meget stunt, men ideen er der)
 > dyr (26, 90,91,92,93)
 
 Lyder som en god ide med kategorier.
 
 Hvordan får du udført den fil som hedder flash.sql på en smart måde
 fra browseren ?
 Det problem havde jeg sidste jeg skrev SQL at jeg ikke kunne få udført
 sådan en fil med kommandoer fra browseren på en smart måde så skulle
 jeg logge ind på sqladmin eller hvad det hedder og kopier teksten.
 Og hvis jeg så ville tilføje data så skulle man jo først slette den
 gamle tabel.
 
 
 |  |  | 
  Ronny Olsen (21-09-2010) 
 
	
          | |  | Kommentar Fra : Ronny Olsen
 | 
 Dato :  21-09-10 10:48
 | 
 |  | 
 
            Den 20-09-2010 16:04, scootergrisen skrev:
  >Hvordan får du udført den fil som hedder flash.sql på en smart måde 
 fra browseren ?
 i phpmyadmin: vælg databasen test
 det er vigtigt du står det du vil have importeret dine tabeller / database
 hvis du ikke har en database der hedder test skal følgende tilføjes i 
 starten af flash.sql
 CREATE DATABASE `test` DEFAULT CHARACTER SET latin1 COLLATE 
 latin1_swedish_ci;
 USE `test`;
 metode 1
 1) tryk på import
 2) i fil til import tryk gennemse og vælg flash.sql
 3) tryk på udfør
 metode 2
 1) tryk på SQL
 2) kopier hele teksten ind, som du har gjort før
 ( skal kun kopieres ind hvis du ikke har databasen test
 CREATE DATABASE `test` DEFAULT CHARACTER SET latin1 COLLATE 
 latin1_swedish_ci;
 USE `test`;
 )
 CREATE TABLE IF NOT EXISTS `flash` (
    `ID` int(11) NOT NULL AUTO_INCREMENT,
    `URL` text NOT NULL,
    `Name` text NOT NULL,
    PRIMARY KEY (`ID`)
 ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
 INSERT INTO `flash` (`ID`, `URL`, `Name`) VALUES
 (1, 'http://www.youtube.com/v/i8Pmx105_tk',  'Hej hus'),
 (2, 'http://www.youtube.com/v/ccxuaxGc9Uk',  'Styrt'),
 (3, 'http://www.youtube.com/v/i8Pmx105_tk',  'Hej hus'),
 (4, 'http://www.youtube.com/v/KHH7qm99Hbo',  'karrusel');
 3) tryk på udfør
 ***********************************************
 hvis du vil lave den med database vil jeg nok bruge denne struktur,
 at holde det i 1 tabeil er fint til at starte, på men på sigt
 skal du have flerer tabeller med, hvis du skal gruppere det.
 man kunne evt udvide med et admin modul, der vil check for dobbelt navne 
 helt klart hører til, samt adm af link/alias
 man kunne også overveje om man skulle implamenterer noget AJAX, så hele 
 siden ikke skal genlæsses, men kun det der skal ændres, men det kræver 
 en del programmering
 ********************************************
 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
 CREATE TABLE IF NOT EXISTS `tblflash` (
    `ID` int(11) NOT NULL AUTO_INCREMENT,
    `URL` text NOT NULL,
    `Alias` text NOT NULL,
    `Titel` text NOT NULL,
    PRIMARY KEY (`ID`)
 ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
 INSERT INTO `tblflash` (`ID`, `URL`, `Alias`, `Titel`) VALUES
 (1, 'http://www.youtube.com/v/i8Pmx105_tk',  'hej_hus', 'Hej hus'),
 (2, 'http://www.youtube.com/v/ccxuaxGc9Uk',  'styrt', 'Styrt'),
 (5, 
 'http://www.metacafe.com/fplayer/2225319/moped_madness_in_vietnam.swf', 'massere_af_Scootere_i_vietnam', 'Massere af Scootere i vietnam'),
 (4, 'http://www.youtube.com/v/KHH7qm99Hbo',  'karrusel', 'karrusel');
 CREATE TABLE IF NOT EXISTS `tblkategori` (
    `ID` int(11) NOT NULL AUTO_INCREMENT,
    `Name` text NOT NULL,
    PRIMARY KEY (`ID`)
 ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
 INSERT INTO `tblkategori` (`ID`, `Name`) VALUES
 (1, 'Legeplads'),
 (2, 'Uheld'),
 (3, 'div');
 CREATE TABLE IF NOT EXISTS `tbl_s_kat_flash` (
    `ID` int(11) NOT NULL AUTO_INCREMENT,
    `kategoriid` int(11) NOT NULL,
    `flashid` int(11) NOT NULL,
    PRIMARY KEY (`ID`)
 ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
 INSERT INTO `tbl_s_kat_flash` (`ID`, `kategoriid`, `flashid`) VALUES
 (1, 1, 2),
 (2, 1, 4),
 (3, 2, 1),
 (4, 2, 2),
 (5, 3, 5);
 -- 
 Med Venlig Hilsen
 Ronny Olsen
http://olsensweb.dk |  |  | 
 |  |