Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]/[MYSQL], Problem z dodaniem pola i odczytem.
InzaghiX
post 28.01.2008, 21:36:15
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 20.01.2008

Ostrzeżenie: (0%)
-----


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.  ?>
Go to the top of the page
+Quote Post
-Wieviór-
post 28.01.2008, 22:30:05
Post #2





Goście







Wytłumacz trochę lepiej o co chodzi, problem się nie wydaje skomplikowany, ale ja tam nic nie rozumiem z tego co napisałeś...
Go to the top of the page
+Quote Post
Grzyw
post 28.01.2008, 22:34:26
Post #3





Grupa: Zarejestrowani
Postów: 561
Pomógł: 75
Dołączył: 19.08.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


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.


--------------------
Idąc po czyichś śladach, nie zajdziesz ani kroku dalej...
Go to the top of the page
+Quote Post
InzaghiX
post 29.01.2008, 08:58:48
Post #4





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 20.01.2008

Ostrzeżenie: (0%)
-----


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. ?>


Ten post edytował InzaghiX 29.01.2008, 09:00:45
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 15:02