<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ca">
	<id>http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=PHP_%2B_bases_de_dades_%28Mysql%29</id>
	<title>PHP + bases de dades (Mysql) - Historial de revisió</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=PHP_%2B_bases_de_dades_%28Mysql%29"/>
	<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=PHP_%2B_bases_de_dades_(Mysql)&amp;action=history"/>
	<updated>2026-08-30T07:25:54Z</updated>
	<subtitle>Historial de revisió per a aquesta pàgina del wiki</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>http://wiki.joanillo.org/index.php?title=PHP_%2B_bases_de_dades_(Mysql)&amp;diff=297299&amp;oldid=prev</id>
		<title>Joan: /* Documentació */</title>
		<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=PHP_%2B_bases_de_dades_(Mysql)&amp;diff=297299&amp;oldid=prev"/>
		<updated>2021-04-15T14:32:33Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Documentació&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ca&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Versió més antiga&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revisió del 14:32, 15 abr 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l7&quot; &gt;Línia 7:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línia 7:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*http://php.net/manual/es/book.mysqli.php (Extensió millorada: ''improved'')&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*http://php.net/manual/es/book.mysqli.php (Extensió millorada: ''improved'')&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A aquestes altures ja ets un expert de Mysql, per tant la introducció a Mysql només l'has de repassar. Recorda que vam fer una pràctica per introduir el Mysql:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A aquestes altures ja ets un expert de Mysql, per tant la introducció a Mysql només l'has de repassar. Recorda que vam fer una pràctica per introduir el Mysql:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*[[&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Sistemes_Gestors_de_Bases_de_Dades&lt;/del&gt;.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;_MySQL&lt;/del&gt;._Instal.laci%C3%B3,&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;_configuraci&lt;/del&gt;%C3%B3_i_%C3%&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;BAs&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*[[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ASIX-M10-UF2&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;_MySQL_I&lt;/ins&gt;._Instal.laci%C3%B3,&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;configuraci&lt;/ins&gt;%C3%B3_i_%C3%&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;BAs_del_Mysql&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Desenvolupament==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Desenvolupament==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Joan</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.joanillo.org/index.php?title=PHP_%2B_bases_de_dades_(Mysql)&amp;diff=297150&amp;oldid=prev</id>
		<title>Joan: /* Formulari de la tenda del Balmes. Inserció i consulta a la base de dades */</title>
		<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=PHP_%2B_bases_de_dades_(Mysql)&amp;diff=297150&amp;oldid=prev"/>
		<updated>2020-12-10T19:20:07Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Formulari de la tenda del Balmes. Inserció i consulta a la base de dades&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ca&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Versió més antiga&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revisió del 19:20, 10 des 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l108&quot; &gt;Línia 108:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línia 108:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;?&amp;gt;  &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;?&amp;gt;  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==Formulari de la tenda del Balmes. Inserció i consulta a la base de dades==&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;En la pràctica anterior vas treballar el formulari de la tenda del Balmes, a nivell de disseny, maquetació i validació de les dades. Ara ja és el moment de ficar les dades del formulari en la base de dades. Un cop logat ja pots fer login i obrir una sessió web en l'aplicatiu. La sessió es manté oberta quan navegues per les diferents pàgines de l'aplicatiu. L'usuari es recorda entre sessions gràcies a l'ús de les cookies.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;En el següent enllaç tens l'explicació de com s'implementa la inserció de l'usuari a la base de dades; com es comprova que el login i password siguin correctes; i com es gestiona una sessió i les cookies amb PHP. Aquest no pretén ser un curs de programació PHP. L'alumne ha de ser capaç de fer funcionar el codi i entedre'l, sense haver d'entrar en els detalls.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[Formulari_II:_PHP_%2B_MySQL._Cookies_i_variables_de_sessió]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;'''NOTA''': En la pràctica anterior has modificat el formulari afegint un radio button, una llista desplegable, i un text area. Si volem ser coherents, hem de modificar la base de dades per tal de què aquesta informació també quedi emmagatzemada a la base de dades.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Protectora d'animals. Formulari complet==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Protectora d'animals. Formulari complet==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Joan</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.joanillo.org/index.php?title=PHP_%2B_bases_de_dades_(Mysql)&amp;diff=297023&amp;oldid=prev</id>
		<title>Joan: /* Exemple vist a classe */</title>
		<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=PHP_%2B_bases_de_dades_(Mysql)&amp;diff=297023&amp;oldid=prev"/>
		<updated>2020-10-18T17:33:27Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Exemple vist a classe&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ca&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Versió més antiga&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revisió del 17:33, 18 oct 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l37&quot; &gt;Línia 37:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línia 37:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Exemple vist a classe==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Exemple vist a classe==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Inserció, consulta, modificació, consulta, esborrat i consulta a la base de dades ''langtrainer''.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Inserció, consulta, modificació, consulta, esborrat i consulta a la base de dades &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'&lt;/ins&gt;''langtrainer&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'&lt;/ins&gt;''.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l108&quot; &gt;Línia 108:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línia 108:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;?&amp;gt;  &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;?&amp;gt;  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Formulari de la tenda del Balmes. Inserció i consulta a la base de dades==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Formulari de la tenda del Balmes. Inserció i consulta a la base de dades==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;En la pràctica anterior vas treballar el formulari de la tenda del Balmes, a nivell de disseny, maquetació i validació de les dades. Ara ja és el moment de ficar les dades del formulari en la base de dades. Un cop logat ja pots fer login i obrir una sessió web en l'aplicatiu. La sessió es manté oberta quan navegues per les diferents pàgines de l'aplicatiu. L'usuari es recorda entre sessions gràcies a l'ús de les cookies.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;En la pràctica anterior vas treballar el formulari de la tenda del Balmes, a nivell de disseny, maquetació i validació de les dades. Ara ja és el moment de ficar les dades del formulari en la base de dades. Un cop logat ja pots fer login i obrir una sessió web en l'aplicatiu. La sessió es manté oberta quan navegues per les diferents pàgines de l'aplicatiu. L'usuari es recorda entre sessions gràcies a l'ús de les cookies.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Joan</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.joanillo.org/index.php?title=PHP_%2B_bases_de_dades_(Mysql)&amp;diff=258734&amp;oldid=prev</id>
		<title>Joan: /* Exercici de classe (09-01-2020) */</title>
		<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=PHP_%2B_bases_de_dades_(Mysql)&amp;diff=258734&amp;oldid=prev"/>
		<updated>2020-01-16T15:23:22Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Exercici de classe (09-01-2020)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Pàgina nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Objectius==&lt;br /&gt;
La gran majoria de les aplicacions PHP que tens a l'abast (Wordpress, Joomla, Drupal, Mediawiki,...) treballen juntament amb una base de dades per emmagatzemar la informació. Mysql acostuma ser la base de dades escollida (tot i que es podria utilitzar altres SGBD). Saber connectar-se a una base de dades, inserir informació, consultar, filtrar i presentar la informació és cabdal. Es tracta d'ajuntar tota la potència del PHP amb tots els coneixements que tens de bases de dades relacionals, per poder fer aplicacions professionals.&lt;br /&gt;
&lt;br /&gt;
==Documentació==&lt;br /&gt;
Referència de les funcions disponibles (amb exemples):&lt;br /&gt;
*http://php.net/manual/es/book.mysql.php&lt;br /&gt;
*http://php.net/manual/es/book.mysqli.php (Extensió millorada: ''improved'')&lt;br /&gt;
A aquestes altures ja ets un expert de Mysql, per tant la introducció a Mysql només l'has de repassar. Recorda que vam fer una pràctica per introduir el Mysql:&lt;br /&gt;
*[[Sistemes_Gestors_de_Bases_de_Dades._MySQL._Instal.laci%C3%B3,_configuraci%C3%B3_i_%C3%BAs]]&lt;br /&gt;
&lt;br /&gt;
==Desenvolupament==&lt;br /&gt;
El primer de tot és instal.lar les llibreries necessàries. Suposant que ja tens instal.lat PHP i Mysql, potser encara et falta el connector entre tots dos. A Ubuntu/Debian:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install php-mysql&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Farem el curs PHP Mysql de w3schools:&lt;br /&gt;
*http://www.w3schools.com/php/php_mysql_intro.asp&lt;br /&gt;
PHP MySQL, que inclou:&lt;br /&gt;
*MySQL Introduction: http://www.w3schools.com/php/php_mysql_intro.asp&lt;br /&gt;
*MySQL Connect: http://www.w3schools.com/php/php_mysql_connect.asp&lt;br /&gt;
*MySQL Create: http://www.w3schools.com/php/php_mysql_create.asp&lt;br /&gt;
*MySQL Insert: http://www.w3schools.com/php/php_mysql_insert.asp&lt;br /&gt;
*MySQL Select: http://www.w3schools.com/php/php_mysql_select.asp&lt;br /&gt;
*MySQL Where: http://www.w3schools.com/php/php_mysql_where.asp&lt;br /&gt;
*MySQL Order By: http://www.w3schools.com/php/php_mysql_order_by.asp&lt;br /&gt;
*MySQL Update: http://www.w3schools.com/php/php_mysql_update.asp&lt;br /&gt;
*MySQL Delete: http://www.w3schools.com/php/php_mysql_delete.asp&lt;br /&gt;
*PHP ODBC (no cal fer-ho): http://www.w3schools.com/php/php_db_odbc.asp&lt;br /&gt;
&lt;br /&gt;
'''Nota'''. No us limiteu a treballar amb una base de dades local (localhost). Teniu accés a la base de dades ''langtrainer'' que està a 192.168.0.15:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mysql -h 192.168.0.15 -u alumne -pkeiL2lai -D langtrainer&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''Nota''': per habilitar els warnings i errors en la pantalla del navegador, llegir [[Llenguatges_de_guions_de_servidor._PHP._Introducció#Gesti.C3.B3_dels_errors_i_logging]]&lt;br /&gt;
&lt;br /&gt;
==Exemple vist a classe==&lt;br /&gt;
Inserció, consulta, modificació, consulta, esborrat i consulta a la base de dades ''langtrainer''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
//insert, select, update, select, delete, select&lt;br /&gt;
$servername = &amp;quot;localhost&amp;quot;;&lt;br /&gt;
$username = &amp;quot;alumne&amp;quot;;&lt;br /&gt;
$password = &amp;quot;keiL2lai&amp;quot;;&lt;br /&gt;
$dbname = &amp;quot;langtrainer&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// Create connection&lt;br /&gt;
$conn = mysqli_connect($servername, $username, $password, $dbname);&lt;br /&gt;
// Check connection&lt;br /&gt;
if (!$conn) {&lt;br /&gt;
    die(&amp;quot;Connection failed: &amp;quot; . mysqli_connect_error());&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$sql = &amp;quot;insert into word values (13,1,1,'rogue',100,'2016/12/16',NULL)&amp;quot;;&lt;br /&gt;
if (!mysqli_query($conn, $sql)) echo &amp;quot;Error inserting: &amp;quot; . mysqli_error($conn) . &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$sql = &amp;quot;insert into translation values (15,2,13,'murri','n',NULL)&amp;quot;;&lt;br /&gt;
if (!mysqli_query($conn, $sql)) echo &amp;quot;Error inserting: &amp;quot; . mysqli_error($conn) . &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$sql = &amp;quot;select word,translation from word w,translation t where w.id_word=t.id_word and w.id_language=1&amp;quot;;&lt;br /&gt;
$result = mysqli_query($conn, $sql);&lt;br /&gt;
&lt;br /&gt;
if (mysqli_num_rows($result) &amp;gt; 0) {&lt;br /&gt;
    // output data of each row&lt;br /&gt;
    while($row = mysqli_fetch_assoc($result)) {&lt;br /&gt;
        echo $row[&amp;quot;word&amp;quot;]. &amp;quot; - &amp;quot; . $row[&amp;quot;translation&amp;quot;]. &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
} else {&lt;br /&gt;
    echo &amp;quot;0 results&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
$sql = &amp;quot;update translation set translation='murri, pillo, pillastre' where id_translation=15&amp;quot;;&lt;br /&gt;
if (!mysqli_query($conn, $sql)) echo &amp;quot;Error inserting: &amp;quot; . mysqli_error($conn) . &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$sql = &amp;quot;select word,translation from word w,translation t where w.id_word=t.id_word and w.id_language=1 and w.id_word=13&amp;quot;;&lt;br /&gt;
$result = mysqli_query($conn, $sql);&lt;br /&gt;
$row = mysqli_fetch_assoc($result);&lt;br /&gt;
&lt;br /&gt;
echo $row[&amp;quot;word&amp;quot;]. &amp;quot; - &amp;quot; . $row[&amp;quot;translation&amp;quot;]. &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$result = mysqli_query($conn, $sql);&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
$sql = &amp;quot;delete from translation where id_translation=15&amp;quot;;&lt;br /&gt;
if (!mysqli_query($conn, $sql)) echo &amp;quot;Error deleting: &amp;quot; . mysqli_error($conn) . &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$sql = &amp;quot;delete from word where id_word=13&amp;quot;;&lt;br /&gt;
if (!mysqli_query($conn, $sql)) echo &amp;quot;Error deleting: &amp;quot; . mysqli_error($conn) . &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$sql = &amp;quot;select word,translation from word w,translation t where w.id_word=t.id_word and w.id_language=1&amp;quot;;&lt;br /&gt;
$result = mysqli_query($conn, $sql);&lt;br /&gt;
&lt;br /&gt;
if (mysqli_num_rows($result) &amp;gt; 0) {&lt;br /&gt;
    // output data of each row&lt;br /&gt;
    while($row = mysqli_fetch_assoc($result)) {&lt;br /&gt;
        echo $row[&amp;quot;word&amp;quot;]. &amp;quot; - &amp;quot; . $row[&amp;quot;translation&amp;quot;]. &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
} else {&lt;br /&gt;
    echo &amp;quot;0 results&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
mysqli_close($conn);&lt;br /&gt;
?&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Formulari de la tenda del Balmes. Inserció i consulta a la base de dades==&lt;br /&gt;
En la pràctica anterior vas treballar el formulari de la tenda del Balmes, a nivell de disseny, maquetació i validació de les dades. Ara ja és el moment de ficar les dades del formulari en la base de dades. Un cop logat ja pots fer login i obrir una sessió web en l'aplicatiu. La sessió es manté oberta quan navegues per les diferents pàgines de l'aplicatiu. L'usuari es recorda entre sessions gràcies a l'ús de les cookies.&lt;br /&gt;
&lt;br /&gt;
En el següent enllaç tens l'explicació de com s'implementa la inserció de l'usuari a la base de dades; com es comprova que el login i password siguin correctes; i com es gestiona una sessió i les cookies amb PHP. Aquest no pretén ser un curs de programació PHP. L'alumne ha de ser capaç de fer funcionar el codi i entedre'l, sense haver d'entrar en els detalls.&lt;br /&gt;
*[[Formulari_II:_PHP_%2B_MySQL._Cookies_i_variables_de_sessió]]&lt;br /&gt;
'''NOTA''': En la pràctica anterior has modificat el formulari afegint un radio button, una llista desplegable, i un text area. Si volem ser coherents, hem de modificar la base de dades per tal de què aquesta informació també quedi emmagatzemada a la base de dades.&lt;br /&gt;
&lt;br /&gt;
==Protectora d'animals. Formulari complet==&lt;br /&gt;
A classe hem vist i explicat el següent exemple. És un petit formulari d'una protectora d'animals. Recollim les dades del formulari, i les fiquem en una petita taula de la base de dades. Els problemes que ens hem trobat són:&lt;br /&gt;
*el valor del checkbox (''yes'' o res) l'hem de convertir a ''true''/''false'' (es correspon a un ''boolean'' a la base de dades).&lt;br /&gt;
*accents en PHP i a la base de dades.&lt;br /&gt;
*què passa quan posem un apòstrof en els comentaris? (hem d'utilitzar ''str_replace'')&lt;br /&gt;
&lt;br /&gt;
'''radiobutton_checkbox.php''':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;es&amp;quot; lang=&amp;quot;es&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&amp;lt;/meta&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Protectora d'animals&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Formulari amb radio button, check box, select box i textarea&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;form action=&amp;quot;radiobutton_checkbox2.php&amp;quot; method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  El teu nom:&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;nom&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  Animal preferit?&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;animal&amp;quot; value=&amp;quot;Granota&amp;quot;&amp;gt;Granota&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;animal&amp;quot; value=&amp;quot;Ratolí&amp;quot;&amp;gt;Ratolí&amp;lt;br /&amp;gt;&lt;br /&gt;
  &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;animal&amp;quot; value=&amp;quot;Marmota&amp;quot;&amp;gt;Marmota&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  Acceptes rebre informació sobre la nostra protectora d'animals?&lt;br /&gt;
  &amp;lt;input type=&amp;quot;checkbox&amp;quot; name=&amp;quot;rebreinfo&amp;quot; value=&amp;quot;yes&amp;quot;&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  Com vols rebre informació?&amp;lt;br /&amp;gt;&lt;br /&gt;
	&amp;lt;select name=&amp;quot;formainfo&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;option value=&amp;quot;correu&amp;quot;&amp;gt;Correu electrònic&amp;lt;/option&amp;gt;&lt;br /&gt;
	&amp;lt;option value=&amp;quot;newsletter&amp;quot;&amp;gt;Newsletter&amp;lt;/option&amp;gt;&lt;br /&gt;
	&amp;lt;option value=&amp;quot;whatsup&amp;quot;&amp;gt;Whatsup&amp;lt;/option&amp;gt;&lt;br /&gt;
	&amp;lt;/select&amp;gt;&lt;br /&gt;
	&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  Comentaris:&amp;lt;br /&amp;gt;&lt;br /&gt;
	&amp;lt;textarea name=&amp;quot;comentaris&amp;quot; width=&amp;quot;50&amp;quot; height=&amp;quot;30&amp;quot;&amp;gt;&amp;lt;/textarea&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;input type=&amp;quot;submit&amp;quot; name=&amp;quot;submit&amp;quot; value=&amp;quot;Submit&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''NOTA''': pots introduir en els comentaris accents i apòstrofs per comprovar que funcionen bé.&lt;br /&gt;
&lt;br /&gt;
'''radiobutton_checkbox2.php''':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
/*&lt;br /&gt;
USE jbalmes;&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE protectora (&lt;br /&gt;
	id MEDIUMINT NOT NULL AUTO_INCREMENT,&lt;br /&gt;
	nom VARCHAR(30) NOT NULL,&lt;br /&gt;
	animal VARCHAR(20) NOT NULL,&lt;br /&gt;
	rebreinfo BOOLEAN,&lt;br /&gt;
	formainfo VARCHAR(20),&lt;br /&gt;
	comentaris VARCHAR(200),&lt;br /&gt;
	PRIMARY KEY (id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
Per inicialitzar la taula:&lt;br /&gt;
DELETE FROM protectora;&lt;br /&gt;
ALTER TABLE protectora AUTO_INCREMENT = 1;&lt;br /&gt;
*/&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
header('Content-type: text/html; charset=utf-8');&lt;br /&gt;
&lt;br /&gt;
//http://www.phpforkids.com/php/php-forms-get-post-checkbox-radio-data.php&lt;br /&gt;
if (isset($_POST['submit'])) {&lt;br /&gt;
	$nom =	str_replace(&amp;quot;'&amp;quot;,&amp;quot;''&amp;quot;,$_POST['nom']);&lt;br /&gt;
	$animal =	$_POST['animal'];&lt;br /&gt;
	$rebreinfo = $_POST['rebreinfo'];&lt;br /&gt;
	if ($rebreinfo==&amp;quot;yes&amp;quot;) {&lt;br /&gt;
		$rebreinfo = &amp;quot;true&amp;quot;;&lt;br /&gt;
	} else {&lt;br /&gt;
		$rebreinfo = &amp;quot;false&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
	$formainfo = $_POST['formainfo'];&lt;br /&gt;
	$comentaris = str_replace(&amp;quot;'&amp;quot;,&amp;quot;''&amp;quot;,$_POST['comentaris']);&lt;br /&gt;
&lt;br /&gt;
	echo &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
	echo &amp;quot;Nom: &amp;quot;.$nom.&amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
	echo &amp;quot;Animal preferit: &amp;quot;.$animal.&amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
	echo &amp;quot;Accptes rebre info: &amp;quot;.$rebreinfo.&amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
	echo &amp;quot;Forma enviament: &amp;quot;.$formainfo.&amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
	echo &amp;quot;Comentaris: &amp;quot;.$comentaris.&amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
} else {&lt;br /&gt;
	echo &amp;quot;Please submit the form.&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$servername = &amp;quot;localhost&amp;quot;;&lt;br /&gt;
$username = &amp;quot;alumne&amp;quot;;&lt;br /&gt;
$password = &amp;quot;keiL2lai&amp;quot;;&lt;br /&gt;
$dbname = &amp;quot;jbalmes&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// Create connection&lt;br /&gt;
$conn = mysqli_connect($servername, $username, $password, $dbname);&lt;br /&gt;
// Check connection&lt;br /&gt;
if (!$conn) {&lt;br /&gt;
    die(&amp;quot;Connection failed: &amp;quot; . mysqli_connect_error());&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
mysqli_query($conn, &amp;quot;SET NAMES 'utf8'&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
$sql = &amp;quot;INSERT INTO protectora (nom, animal, rebreinfo, formainfo, comentaris) VALUES ('&amp;quot;.$nom.&amp;quot;','&amp;quot;.$animal.&amp;quot;',&amp;quot;.$rebreinfo.&amp;quot;,'&amp;quot;.$formainfo.&amp;quot;','&amp;quot;.$comentaris.&amp;quot;')&amp;quot;;&lt;br /&gt;
//echo $sql;&lt;br /&gt;
&lt;br /&gt;
if (mysqli_query($conn, $sql)) {&lt;br /&gt;
    echo &amp;quot;New record created successfully&amp;quot;;&lt;br /&gt;
} else {&lt;br /&gt;
    echo &amp;quot;Error: &amp;quot; . $sql . &amp;quot;&amp;lt;br&amp;gt;&amp;quot; . mysqli_error($conn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
mysqli_close($conn);&lt;br /&gt;
?&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Anem a recuperar la informació que tenim a la base de dades:&lt;br /&gt;
&lt;br /&gt;
'''llista_animals.php''':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
header('Content-type: text/html; charset=utf-8');&lt;br /&gt;
&lt;br /&gt;
$servername = &amp;quot;localhost&amp;quot;;&lt;br /&gt;
$username = &amp;quot;alumne&amp;quot;;&lt;br /&gt;
$password = &amp;quot;keiL2lai&amp;quot;;&lt;br /&gt;
$dbname = &amp;quot;jbalmes&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// Create connection&lt;br /&gt;
$conn = mysqli_connect($servername, $username, $password, $dbname);&lt;br /&gt;
// Check connection&lt;br /&gt;
if (!$conn) {&lt;br /&gt;
    die(&amp;quot;Connection failed: &amp;quot; . mysqli_connect_error());&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
mysqli_query($conn, &amp;quot;SET NAMES 'utf8'&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
$sql = &amp;quot;select * from protectora&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$resultset = mysqli_query($conn,$sql);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
while($row = mysqli_fetch_array($resultset)) {&lt;br /&gt;
	echo $row['animal'].&amp;quot; - Comentaris: &amp;quot;.$row['comentaris'].&amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
mysqli_close($conn);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Exemple vist a classe (09/01/2020)==&lt;br /&gt;
'''provincies_v1.php''':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
	&amp;lt;title&amp;gt;Provincias de España&amp;lt;/title&amp;gt;&lt;br /&gt;
	&amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
	&amp;lt;h1&amp;gt;Provincias de España&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
$servername = &amp;quot;localhost&amp;quot;;&lt;br /&gt;
$username = &amp;quot;alumne&amp;quot;;&lt;br /&gt;
$password = &amp;quot;keiL2lai&amp;quot;;&lt;br /&gt;
$dbname = &amp;quot;municipis&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// Create connection&lt;br /&gt;
$conn = mysqli_connect($servername, $username, $password, $dbname);&lt;br /&gt;
// Check connection&lt;br /&gt;
if (!$conn) {&lt;br /&gt;
    die(&amp;quot;Connection failed: &amp;quot; . mysqli_connect_error());&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
mysqli_set_charset($conn,&amp;quot;utf8&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
$sql = &amp;quot;select provincia,comunitat from provincies p, comunitats c where c.id_com = p.id_com&amp;quot;;&lt;br /&gt;
//echo $sql;&lt;br /&gt;
&lt;br /&gt;
$result = mysqli_query($conn, $sql);&lt;br /&gt;
&lt;br /&gt;
if (mysqli_num_rows($result) &amp;gt; 0) {&lt;br /&gt;
    // output data of each row&lt;br /&gt;
    while($row = mysqli_fetch_assoc($result)) {&lt;br /&gt;
        echo $row[&amp;quot;provincia&amp;quot;]. &amp;quot; (&amp;quot; . $row[&amp;quot;comunitat&amp;quot;]. &amp;quot;)&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
} else {&lt;br /&gt;
    echo &amp;quot;0 results&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
mysqli_close($conn);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''provincies_v2.php''':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
	&amp;lt;title&amp;gt;Provincias de España&amp;lt;/title&amp;gt;&lt;br /&gt;
	&amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
	&amp;lt;h1&amp;gt;Provincias de España&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
$servername = &amp;quot;localhost&amp;quot;;&lt;br /&gt;
$username = &amp;quot;alumne&amp;quot;;&lt;br /&gt;
$password = &amp;quot;keiL2lai&amp;quot;;&lt;br /&gt;
$dbname = &amp;quot;municipis&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// Create connection&lt;br /&gt;
$conn = mysqli_connect($servername, $username, $password, $dbname);&lt;br /&gt;
// Check connection&lt;br /&gt;
if (!$conn) {&lt;br /&gt;
    die(&amp;quot;Connection failed: &amp;quot; . mysqli_connect_error());&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
mysqli_set_charset($conn,&amp;quot;utf8&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
$sql = &amp;quot;select provincia,comunitat from provincies p, comunitats c where c.id_com = p.id_com order by comunitat, provincia&amp;quot;;&lt;br /&gt;
//echo $sql;&lt;br /&gt;
&lt;br /&gt;
$result = mysqli_query($conn, $sql);&lt;br /&gt;
&lt;br /&gt;
$comunitat = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
if (mysqli_num_rows($result) &amp;gt; 0) {&lt;br /&gt;
    // output data of each row&lt;br /&gt;
    while($row = mysqli_fetch_assoc($result)) {&lt;br /&gt;
&lt;br /&gt;
    	if ($comunitat != $row[&amp;quot;comunitat&amp;quot;]) {&lt;br /&gt;
    		echo &amp;quot;&amp;lt;h2&amp;gt;&amp;quot;.$row[&amp;quot;comunitat&amp;quot;].&amp;quot;&amp;lt;/h2&amp;gt;&amp;quot;;&lt;br /&gt;
    		$comunitat = $row[&amp;quot;comunitat&amp;quot;];&lt;br /&gt;
    	}&lt;br /&gt;
        echo $row[&amp;quot;provincia&amp;quot;]. &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
} else {&lt;br /&gt;
    echo &amp;quot;0 results&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
mysqli_close($conn);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''provincies_v3.php''':&lt;br /&gt;
&lt;br /&gt;
Fem un petit canvi, volem filtrar les províncies per comunitat. Ara cridarem el script amb el filtre:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
provincies_v3.php?comunitat=Catalunya&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
	&amp;lt;title&amp;gt;Provincias de España&amp;lt;/title&amp;gt;&lt;br /&gt;
	&amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
	&amp;lt;h1&amp;gt;Provincias de España&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
//recollim el filtre&lt;br /&gt;
//http://www.iaw.org/provincies_v3.php?comunitat=Galicia&lt;br /&gt;
$filtre_comunitat = $_GET['comunitat'];&lt;br /&gt;
//echo $filtre_comunitat;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$servername = &amp;quot;localhost&amp;quot;;&lt;br /&gt;
$username = &amp;quot;alumne&amp;quot;;&lt;br /&gt;
$password = &amp;quot;keiL2lai&amp;quot;;&lt;br /&gt;
$dbname = &amp;quot;municipis&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// Create connection&lt;br /&gt;
$conn = mysqli_connect($servername, $username, $password, $dbname);&lt;br /&gt;
// Check connection&lt;br /&gt;
if (!$conn) {&lt;br /&gt;
    die(&amp;quot;Connection failed: &amp;quot; . mysqli_connect_error());&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
mysqli_set_charset($conn,&amp;quot;utf8&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
$sql = &amp;quot;select provincia,comunitat from provincies p, comunitats c where c.id_com = p.id_com and comunitat='&amp;quot;.$filtre_comunitat.&amp;quot;' order by comunitat, provincia&amp;quot;;&lt;br /&gt;
//echo $sql;&lt;br /&gt;
$result = mysqli_query($conn, $sql);&lt;br /&gt;
&lt;br /&gt;
$comunitat = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;&amp;lt;ul&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
if (mysqli_num_rows($result) &amp;gt; 0) {&lt;br /&gt;
    // output data of each row&lt;br /&gt;
    while($row = mysqli_fetch_assoc($result)) {&lt;br /&gt;
&lt;br /&gt;
    	if ($comunitat != $row[&amp;quot;comunitat&amp;quot;]) {&lt;br /&gt;
    		echo &amp;quot;&amp;lt;h2&amp;gt;&amp;quot;.$row[&amp;quot;comunitat&amp;quot;].&amp;quot;&amp;lt;/h2&amp;gt;&amp;quot;;&lt;br /&gt;
    		$comunitat = $row[&amp;quot;comunitat&amp;quot;];&lt;br /&gt;
    	}&lt;br /&gt;
        echo &amp;quot;&amp;lt;li&amp;gt;&amp;quot;.$row[&amp;quot;provincia&amp;quot;].&amp;quot; (&amp;lt;a href=\&amp;quot;https://es.wikipedia.org/wiki/Provincia_de_&amp;quot;.$row[&amp;quot;provincia&amp;quot;].&amp;quot;\&amp;quot;&amp;gt;wikipedia&amp;lt;/a&amp;gt;)&amp;quot;. &amp;quot;&amp;lt;/li&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    echo &amp;quot;&amp;lt;/ul&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
} else {&lt;br /&gt;
    echo &amp;quot;0 results&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
mysqli_close($conn);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Entrega==&lt;br /&gt;
La pràctica consta de dues parts. D'una banda pràcticar PHP+MySQL a través dels exemples mostrats al tutorial i explicats a classe. D'altra banda, implementar el formulari de la tenda del Balmes en una base de dades.&lt;br /&gt;
&lt;br /&gt;
Prova a més l'exemple de la ''protectora d'animals'' vist a classe, i implementa alguna millora. Per exemple, afegeix més camps a la base de dades; formata la sortida de ''llista_animals.php'' en una taula HTML.&lt;br /&gt;
&lt;br /&gt;
Tota la documentació generada (scripts PHP bàsicament) la inclouràs en un fitxer comprimit i l'entregaràs en el Schoology. No t'has de restringir als exemples que proposa el tutorial, sinó que també inclouràs totes les proves que fas. El professor també demana incloure el fitxer LLEGEIX-ME.txt on expliquis les dificultats i descobertes que has realitzat.&lt;br /&gt;
&lt;br /&gt;
Recorda la '''normativa''' per entregar les pràctiques al Google Classroom: [[ASIX-M10-UF2#Normativa_d.27entrega_de_les_pr.C3.A0ctiques_al_Google_Classroom]]&lt;br /&gt;
&lt;br /&gt;
==Exercici de classe (09-01-2020)==&lt;br /&gt;
Programar un script php que mostri per pantalla tots els municipis de Catalunya (n'hi ha uns 800), i la província  a què pertanyen. Consta de les següents parts:&lt;br /&gt;
#Establir una connexió correcta&lt;br /&gt;
#executar la sentència SQL adequada, i mostrar la informació bàsica per pantalla.&lt;br /&gt;
#Fer una llista HTML (ul-li)&lt;br /&gt;
#També pots fer una taula HTML.&lt;br /&gt;
#Volcar la informació al fitxer municipis_catalunya.txt&lt;br /&gt;
#Feina per casa: omplir una llista desplegable amb totes les comunitats (a partir d'una consulta a la base de dades), i quan seleccionis una comunitat, per exemple ''Extremadura'', que es mostrin les províncies.&lt;br /&gt;
&lt;br /&gt;
Referència:&lt;br /&gt;
*https://www.w3schools.com/php/php_mysql_select.asp&lt;br /&gt;
*https://stackoverflow.com/questions/5189662/populate-a-drop-down-box-from-a-mysql-table-in-php&lt;br /&gt;
&lt;br /&gt;
Solució vista a classe:&lt;br /&gt;
*[[Fitxer:Municipis per comunitat.zip]]&lt;br /&gt;
&lt;br /&gt;
==Durarda==&lt;br /&gt;
2 hores&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Autor}}, octubre 2019&lt;br /&gt;
[[Categoria: Institut Jaume Balmes]]&lt;br /&gt;
[[Categoria: ASIX-M09-IAW]]&lt;/div&gt;</summary>
		<author><name>Joan</name></author>
		
	</entry>
</feed>