Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]/[MYSQL]
Forum PHP.pl > Forum > Przedszkole
InzaghiX
Witam, już tyle się męcze probowałem różnie to robić ale nie wychodzi , więc proszę o pomoc. A mianowicie mam pliki form.php oraz insert.php i index.php gdzie wyswietlam wyniki z bazy danych.

Jak będziemy widziec na dole w pliku form.php mam dwa pola host i adres... jak zrobić aby mozna było te pola dodwać aby wybrac ponowne opcje i wpisać adres i pozniej wysłać to wszystko do bazy. A jak wysłac do bazy , to na jakiej zasadzie bo przeciez można dodać 10 pól host i adres , przecież niebede tworzył 10 kolumn .. jest jakaś zasada na automatyczne dodawanie gdy nowe pole jest dodane? I ostatnie to wczytanie tych dodanych pól do index.php nie mam pojęcia jak to zrobić , jedyne to wiem to że już mam dosyć tyle się naszukałem odpwiedzi.

insert.php
  1. <?php
  2.  @$tytul = $_POST['tytul'] ;
  3. @$opis = $_POST['opis'] ;
  4.  @$host = $_POST['host'] ;
  5. @$typ = $_POST['typ'] ;
  6.  include "inc/dblink.php" ; 
  7.  
  8.  $link = @mysql_connect( $CFG->dbhost,$CFG->dbuser,$CFG->dbpass );
  9.  mysql_select_db( $CFG->dbname, $link );
  10.  $result=mysql_query( "INSERT INTO lektor.film (`id`,`tytul`,`opis`,`host`,`adres`,`typ`) VALUES (NULL, '$tytul', '$opis', '$host', '$adres', '$typ'); " , $link);
  11.  mysql_close($link);
  12.  
  13.  
  14.  
  15. $zmienna="index.php";
  16. header("Location: $zmienna"); 
  17.  ?>



form.php

  1. <?php
  2. <html>
  3. <head>
  4. <title>Wielkie Kino</title>
  5.  
  6. <link rel="stylesheet" type="text/css" href="styl1.css">
  7. </head>
  8. <body>
  9. <centeR>
  10. <table width=300>
  11. <td>
  12. <form action="insert.php" method="POST">
  13.  <table border="0">
  14.  
  15. <tr><td><h6>Tytul</h6></td><td> <input type="text" name="tytul" maxlenght="30" size="30"></td></tr>
  16.  <tr><td><h6>Opis</h6></td><td> <textarea name="opis" rows="8" cols="60"></textarea></td></tr></table>
  17. <table border=0 width=100%>
  18. <tr><td colspan=2><h6>Wybierz serwer:</h6> 
  19.  <select name="host">
  20. <option value="0" selected="selected">...</option>
  21. <option value="Filefront" >Filefront</option>
  22. <option value="Filehostia">Filehostia</option>
  23. <option value="Verzend.be">Verzend.be</option>
  24. <option value="Netload.ie">Netload.ie</option>
  25. <option value="2xUpload.to">2xUpload.to</option>
  26. <option value="UPLOADED.to">UPLOADED.to</option>
  27. <option value="FILECRUNCH.com">FILECRUNCH.com</option>
  28. <option value="SENDSPACE.pl">SENDSPACE.pl</option>
  29. <option value="UPLOADING.com">UPLOADING.com</option>
  30.  
  31.  </select></td>
  32. <td><h6>Adres http:</h6><input type="text" name="adres" maxlenght="30" size="30"></td></tr> 
  33.  
  34.  <select name="typ">
  35. <option>...</option>
  36. <option>Dla Przyjaciół</option>
  37. <option>Dla Wszystkich</option>
  38.  </select></td></tr>
  39. <tr><td colspan="2"><input type="submit" value="dodaj" name="wyslij">
  40.  </table>
  41.  </form>
  42. </td>
  43. </table>
  44.  
  45. </body>
  46. </html>
  47. ?>




index.php

  1. <?php
  2.  include "inc/dblink.php" ;
  3.  
  4. $link = @mysql_connect( $CFG->dbhost,$CFG->dbuser,$CFG->dbpass );
  5. mysql_select_db( $CFG->dbname, $link );
  6.  $result=mysql_query( "SELECT * FROM lektor.film ORDER BY `id` DESC 
  7. ", $link );
  8. $rows_sum = mysql_num_rows($result) or die (mysql_error()); 
  9.  while ( $aRow = mysql_fetch_array( $result ) )
  10.  {
  11.  
  12. echo' <table class=tabela ><tr><td valign=top><table border=0>
  13.  
  14. <div id=tytul>'
  15. .$aRow['tytul'].
  16. '<div id="friend">'.$aRow['typ'].'</div></div>
  17. <div id=obrazek><img src=filmy/2.jpg >
  18.  
  19. </div>
  20. <div id=opis>
  21. '.$aRow['opis'].'
  22. </div>
  23. <div id=link>
  24. <a class=sciagnij>Pobieranie:</a>
  25. <br>
  26.  
  27. <a class="nz-serwer">'.$aRow['host'].'</a>&nbsp&nbsp&nbsp&nbsp
  28. <a class="x"><a hret='.$aRow['adres'].'>Download</a> 
  29. </div>
  30.  
  31.  
  32. </table>
  33. </table>';
  34.  
  35. }
  36. mysql_free_result( $result );
  37.  
  38.  
  39.  ?>
Wieviór
Wytłumacz trochę lepiej o co chodzi, problem się nie wydaje skomplikowany, ale ja tam nic nie rozumiem z tego co napisałeś...
Grzyw
Co do problemy z wieloma hostami w bazie:

Stwórz tabelę hosty_filow z polami: film_id | host | adres |
Dzięki temu będziesz mógł mieć 10 hostów do jednego filmu.

Co do problemu na samej stronie internetowej. Użyj JavaScript do dodawania nowych pól.
InzaghiX
Problem polega na tym jak zrobić aby pola select name =host i input name=adres można było dodawać i aby one nabierały nowego name czyli np. name="host[ ]" , druga sprawa , jak później przy zapisaniu zrobić aby automatycznie tworzyły się kolumny w tabeli adekwatnie do ilości wybranych pól czyli przykładowo: 5 hostów i 5 adresów. A ostatnią sprawą jest to , jak póżniej to z bazy odczytać smile.gif . Mam nadzieję, że ktoś mi w tym pomoże.

Tutaj mam jakiś skrypt do dowania , lecz tylko pola input a potrzeba jeszcze select i nie wiem czy on jest dobrze zrobiony, ale działa.


Skrypt dodawanie pola:

  1. <?php
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
  5. <link rel="stylesheet" type="text/css" href="styl1.css">
  6. <script type="text/javascript">
  7. ilosc_inputow = 1;
  8. function dodaj(obj) {
  9.  
  10. inpt = document.createElement('input');
  11. inpt.type = 'text';
  12. inpt.name = 'input' + ++ilosc_inputow;
  13. inpt.className = 'inpt';
  14. inpt.value = ilosc_inputow; // numerki w inputach
  15.  
  16. btn = document.createElement('input');
  17. btn.type = 'button';
  18. btn.value = 'Usuń';
  19.  
  20. dv = document.createElement('div');
  21. dv.className = 'dv';
  22. dv.id = 'div' + ilosc_inputow;
  23.  
  24. eval("btn.onclick = function () { usun('" + dv.id + "', this); }");
  25.  
  26. dv.appendChild(inpt);
  27. dv.appendChild(btn);
  28. obj.form.appendChild(dv);
  29.  
  30. document.getElementById('ilosc_inputow').value = ilosc_inputow;
  31. }
  32. function usun(dv, obj) {
  33. objs = obj.form.getElementsByTagName('div');
  34.  for(= 0; i < objs.length; i++) {
  35. if(objs[ i ].id == dv) {
  36.  obj.form.removeChild(objs[ i ]);
  37. }
  38.  }
  39. }
  40. </script>
  41. </head>
  42. <body>
  43. <form>
  44.  
  45. <div class="dv" id="div1">
  46. <input type="button" value="Usuń" onclick="usun('div1', this);">
  47. <input type="text" id="input1" class="inpt" value="1">
  48. <input type="hidden" id="ilosc_inputow" name="ilosc_inputow">
  49. <input type="button" value="Dodaj" onclick="dodaj(this);">
  50.  
  51. </div>
  52. </form>
  53. </body>
  54. </html>
  55. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.